1. 程式人生 > >深入瞭解機器學習之使用 TensorFlow 的起始步驟 (First Steps with TensorFlow):工具包

深入瞭解機器學習之使用 TensorFlow 的起始步驟 (First Steps with TensorFlow):工具包

下圖顯示了 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)