如何使用 Python 中的 TensorFlow 例項化一個 Estimator?


可以使用 TensorFlow 中的 `DNNClassifier` 方法來例項化一個 Estimator,該方法存在於 TensorFlow 庫的 `estimator` 類中。

閱讀更多: 什麼是 TensorFlow 以及 Keras 如何與 TensorFlow 協同工作以建立神經網路?

我們將使用 Keras 的 Sequential API,它有助於構建一個用於處理層級堆疊的順序模型,其中每一層都只有一個輸入張量和一個輸出張量。

包含至少一層卷積層的神經網路被稱為卷積神經網路。我們可以使用卷積神經網路來構建學習模型。

TensorFlow Text 包含與文字相關的類和操作的集合,可用於 TensorFlow 2.0。TensorFlow Text 可用於預處理序列建模。

我們使用 Google Colaboratory 來執行以下程式碼。Google Colab 或 Colaboratory 幫助在瀏覽器中執行 Python 程式碼,無需任何配置,並且可以免費訪問 GPU(圖形處理單元)。Colaboratory 建立在 Jupyter Notebook 之上。

Estimator 是 TensorFlow 對完整模型的高階表示。它旨在實現輕鬆擴充套件和非同步訓練。

模型使用鳶尾花資料集進行訓練。

示例

print("Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each")
classifier = tf.estimator.DNNClassifier(
   feature_columns=my_feature_columns,
   hidden_units=[30, 10],
   n_classes=3)

程式碼來源 −https://www.tensorflow.org/tutorials/estimator/premade#first_things_first

輸出

Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each
INFO:tensorflow:Using default config.
WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmpdh8866zb
INFO:tensorflow:Using config: {'_model_dir': '/tmp/tmpdh8866zb', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true
graph_options {
   rewrite_options {
      meta_optimizer_iterations: ONE
   }
}
, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_checkpoint_save_graph_def': True, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}

解釋

  • 鳶尾花問題被認為是一個分類問題。
  • Tensorflow 帶有許多預製的分類器 Estimator,包括:
    • 用於執行多類分類的深度模型 `tf.estimator.DNNClassifier`。
    • 用於寬而深模型的 `tf.estimator.DNNLinearCombinedClassifier`。
    • 用於基於線性模型的分類器的 `tf.estimator.LinearClassifier`。
  • 對於鳶尾花問題,我們使用 `tf.estimator`。

更新於: 2021-02-22

144 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.