深入瞭解機器學習之使用 TensorFlow 的起始步驟 (First Steps with TensorFlow):工具包
阿新 • • 發佈:2018-12-21
下圖顯示了 TensorFlow 工具包的當前層次結構: 圖 1. TensorFlow 工具包層次結構。
下表總結了不同層的用途:
TensorFlow 由以下兩個元件組成:
- 圖協議緩衝區
- 執行(分散式)圖的執行時
這兩個元件類似於 Java 編譯器和 JVM。正如 JVM 會實施在多個硬體平臺(CPU 和 GPU)上一樣,TensorFlow 也是如此。
您應該使用哪個 API?您應該使用能夠解決問題的最高階抽象層。較高級別的抽象層更易於使用,但(設計方面)不夠靈活。我們建議您先從最高階 API 入手,讓所有元件正常運作起來。如果您希望在某些特殊建模方面能夠更加靈活一些,則可以降低一個級別。請注意,每個級別都是使用低階 API 構建的,因此降低層次結構級別應該比較直觀。
tf.estimator API
我們將使用 tf.estimator 來完成機器學習速成課程中的大部分練習。您在練習中所做的一切都可以在較低級別(原始)的 TensorFlow 中完成,但使用 tf.estimator 會大大減少程式碼行數。
tf.estimator 與 scikit-learn API 相容。 scikit-learn 是極其熱門的 Python 開放原始碼機器學習庫,擁有超過 10 萬名使用者,其中包括許多 Google 員工。
概括而言,以下是在 tf.estimator 中實現的線性迴歸程式的格式:
import tensorflow as tf # Set up a linear classifier. classifier = tf.estimator.LinearClassifier() # Train the model on some example data. classifier.train(input_fn=train_input_fn, steps=2000) # Use it to predict. predictions = classifier.predict(input_fn=predict_input_fn)