Python
 Computer >> コンピューター >  >> プログラミング >> Python

TensorflowをEstimatorで使用して、Pythonを使用してモデルを評価するにはどうすればよいですか?


TensorflowをEstimatorで使用して、「classifier」モジュールにある「evaluate」メソッドを使用してモデルを評価できます。

続きを読む: TensorFlowとは何ですか?また、KerasがTensorFlowと連携してニューラルネットワークを作成する方法は?

Keras Sequential APIを使用します。これは、すべてのレイヤーに1つの入力テンソルと1つの出力テンソルがあるプレーンスタックのレイヤーを操作するために使用されるシーケンシャルモデルの構築に役立ちます。

少なくとも1つの層を含むニューラルネットワークは、畳み込み層と呼ばれます。畳み込みニューラルネットワークを使用して、学習モデルを構築できます。

TensorFlow Textには、TensorFlow2.0で使用できるテキスト関連のクラスとオペレーションのコレクションが含まれています。 TensorFlow Textを使用して、シーケンスモデリングを前処理できます。

以下のコードを実行するためにGoogleColaboratoryを使用しています。 Google ColabまたはColaboratoryは、ブラウザー上でPythonコードを実行するのに役立ち、構成が不要で、GPU(グラフィックプロセッシングユニット)に無料でアクセスできます。 ColaboratoryはJupyterNotebookの上に構築されています。

Estimatorは、TensorFlowによる完全なモデルの高レベルの表現です。簡単なスケーリングと非同期トレーニング用に設計されています。

モデルはアイリスデータセットを使用してトレーニングされます。

eval_result = classifier.evaluate(input_fn=lambda: input_fn(test, test_y, training=False))
print('\nTest dataset accuracy is: {accuracy:0.3f}\n'.format(**eval_result))

コードクレジット-https://www.tensorflow.org/tutorials/estimator/premade#first_things_first

出力

INFO:tensorflow:Calling model_fn.
WARNING:tensorflow:Layer dnn is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2. The layer has dtype float32 because its dtype defaults to floatx.
If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.
To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Starting evaluation at 2020-09-10T01:40:47Z
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from /tmp/tmpbhg2uvbr/model.ckpt-5000
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Inference Time : 0.21153s
INFO:tensorflow:Finished evaluation at 2020-09-10-01:40:47
INFO:tensorflow:Saving dict for global step 5000: accuracy = 0.96666664, average_loss = 0.42594802, global_step = 5000, loss = 0.42594802
INFO:tensorflow:Saving 'checkpoint_path' summary for global step 5000: /tmp/tmpbhg2uvbr/model.ckpt-5000
Test dataset accuracy is: 0.967

説明

  • moelがトレーニングされると、パフォーマンスに関するいくつかの情報を取得できます。

  • 「評価」関数にパラメータは渡されません。

  • evalのinput_fnは、データの単一のエポックのみを生成します。

  • eval_resultディクショナリには、average_loss(サンプルあたりの平均損失)、loss(ミニバッチあたりの平均損失)、および推定量のglobal_stepの値(実行されたトレーニングの反復回数)が含まれています。


  1. Pythonを使用してモデル全体を保存するためにKerasをどのように使用できますか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。研究や生産目的で使用されます。 Kerasは、Pythonで記述されたディープラーニングAPIです。これは、機械学習の問題を解決するのに役立つ生産的なインターフェースを備えた高レベルのAPIです。 Tensorflowフレームワーク上で実行されます。迅速な実験を支援するために構築されました。非常にスケーラブルで、クロスプラットフォーム機能が付属しています。これは、KerasをTP

  2. Pythonを使用してモデルをプロットするためにKerasをどのように使用できますか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 Tensorは、TensorFlowで使用されるデータ構造です。フロー図のエッジを接続するのに役立ちます。このフロー図は「データフローグラフ」と呼ばれます。テンソルは多次元配列またはリストに他なりません。 Kerasは、プロジェクトONEIROS(オープンエンドの神経電子イン