問題タブ [tensorflow-estimator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - tf.estimator での gRPC エラー
OpenStackで実行されているUbuntu 16.04に1.4
インストールされたTensorFlowを実行しています。pip
TensorFlow 線形モデルのチュートリアル (こちら) に従って、単純なロジスティック回帰モデルを実行しました。ローカルで実行すると、すべて正常に動作します。ここのドキュメントに従って、RunConfig()
小さなクラスターでモデルを実行しています。私が理解している限り、定型推定器を配布するには、適切な JSON 環境変数を設定するだけです。私は次のようにこれを行いました:
master
次に、スクリプトをas:python tf_dist_example.py 0 chief
から、別の window:python tf_dist_example.py 0 ps
で、worker-1
as : で呼び出しますpython tf_dist_example.py 0 worker
。
インスタンスはchief
エラーをスローします:tensorflow.python.framework.errors_impl.UnknownError: Could not start gRPC server
を設定した後、エラーexport GRPC_VERBOSITY=DEBUG
をgRPC
報告します:
エラーは明らかです。gRPC が接続しようとしているポートは既に使用されています。ただし、netstat -tulpn
他のプロセスがこれらのポートを使用していないことを確認したため、gRPC が既に使用されていると不平を言っている理由がわかりません。さらに、手動で and を作成するより低レベルの例を作成するClusterSpec
とServer
、マスターとワーカーは正常に通信でき、すべてが期待どおりに機能します。さらにデバッグする方法について提案したり、どこが間違っているかを指摘したりできますか? 何が起こっているのかについての簡単な説明があると確信しています。役立つ場合は、からのメッセージをさらに含めるgRPC
ことができます。
python - 確率分布のベクトルをスコアリングするためのカスタム推定ヘッド
TensorFlow 1.4 と Estimator フレームワークを使用しています。
tf.contrib.estimator.multi_head
N の結果を要約する 1 つの頭部 (別の頭部を持つモデル) を作成するために使用したいと思いますsoftmax_cross_entropy_with_logits
。N 個の確率分布は、それぞれ同じクラス セットに対して定義されますが、独立した分布です。私が計算したい要約損失スコアは、単純にソフトマックス クロス エントロピー損失の二乗和です。
N 個のゼロのベクトルを偽造すれば、ほぼ atf.contrib.estimator.regression_head
を使用して要約を計算できます。labels
ベクトルがゼロの平均二乗誤差は、ソフトマックス損失の二乗を合計するのと同じだからです。しかし、これは不親切なようで、より直接的なアプローチが必要です。
_Head
で実装された独自のサブクラスを作成する必要があり、フレームワーク開発者が使用するように文書化されてtensorflow.python.estimator.canned.head
いるメソッドを実装する必要があるようです。create_loss
この道を歩み始める前に、検討すべき別のアプローチがあるかどうかを聞きたいと思います.
私はもともと Keras で開発を開始し、関数型 API を使用したマルチヘッド モデルを持っていました。おそらく、Keras の使用に戻りmodel_fn
、tf.keras.estimator.model_to_estimator
. すべてが同じであれば、私は純粋な Tensorflow イディオムでコーディングすることを好みますが、おそらく Keras が前進する最も簡単な方法です。
python - 作成されたテンソルフロー モデルを予測に使用する
ワイド アンド ディープ ラーニング モデルを作成する方法について説明しているこの Tensorflow 記事のソース コードを見ています。https://www.tensorflow.org/versions/r1.3/tutorials/wide_and_deep
Python ソース コードへのリンクは次のとおりです: https://github.com/tensorflow/tensorflow/blob/r1.3/tensorflow/examples/learn/wide_n_deep_tutorial.py
その目的は、国勢調査情報のデータを基に、年収が 5 万ドルを超えるか下回るかを予測するモデルをトレーニングすることです。
指示どおり、次のコマンドを実行して実行しています。
私が得る結果は次のとおりです。
私がオンラインで見たさまざまな記事では、.ckpt
ファイルへのロードについて説明しています。モデル ディレクトリを見ると、次のファイルが表示されます。
私が使用するものはだと思いますがmodel.ckpt-1.meta
、それは正しいですか?
しかし、このモデル データの使用方法とフィード方法についても混乱しています。Tensorflow のウェブサイトでこの記事を見てきました: https://www.tensorflow.org/versions/r1.3/programmers_guide/saved_model
これは、「Estimators は変数を (model_dir に) 自動的に保存および復元することに注意してください」と述べています。(この文脈でそれが何を意味するのかはわかりません)
給与を除いて、国勢調査データの形式で情報を生成するにはどうすればよいですか? 予測を行うためにトレーニング済みモデルを使用できるようにするために、2 つの Tensorflow 記事を使用する方法は私には明らかではありません。