問題タブ [tf-slim]
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 - tensorfow.slim.learning を使用した複数の GPU トレーニング
tensorflow.contrib.slim の新しい学習モジュールは非常に有望に見えます : https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/slim/python/slim/learning.pyこの新しいモジュールを使用して、ワーカー ノードが 1 つしかなく、GPU が複数ある構成で、CIFAR 10 マルチ GPU の例 (または ImageNet の例) を再現するにはどうすればよいですか。
tensorflow - tf.contrib.slim データ準備ドキュメントについて
Slim Net にフィードするデータを準備する方法を理解するのに多くの時間を費やしました。しかし、トレーニングデータを準備する方法をまだ静かに理解できません。Caffe ImageNet チュートリアルのように、トレーニング データを処理するためのより詳細な方法はありますか: http://caffe.berkeleyvision.org/gathered/examples/imagenet.html
tensorflow - Tensorflow (tf-slim) モデルのテキスト表現の出力
nolearn が提供するものに沿って tf-slim モデルのテキスト表現を印刷する方法はありますか?
編集:
このようなものを使用して、特定のレイヤーの情報を印刷できます。
テーブルを完成させるために必要なのは、「レイヤースタック」をクロールまたは上に移動する方法です(つまり、特定のレイヤーから着信/入力レイヤーに移動します)。
tensorflow - tf-slim の train_loop で Evaluation_loop を使用する方法
いくつかの異なるモデルを実装して CIFAR-10 でトレーニングしようとしていますが、これを行うために TF-slim を使用したいと考えています。TF-slim には、トレーニング中に役立つ 2 つの主要なループ (train_loop と Evaluation_loop) があるようです。
私の質問は、これらのループを使用する標準的な方法は何ですか? フォローアップとして: train_loop で早期停止を使用することは可能ですか?
現在、モデルがあり、トレーニング ファイル train.py は次のようになっています
これはこれまでのところ素晴らしいことです - 私のモデルはすべてうまくトレーニングして収束しています。train_log_dir
これは、すべての指標が正しい方向に進んでいるイベントからわかります。そして、正しい方向に進むことは私を幸せにします。
しかし、検証セットでもメトリックが改善されていることを確認したいと思います。TF-slim をトレーニング ループとうまく連携させる方法がわからないのでeval.py
、評価ループを含む という 2 番目のファイルを作成しました。
質問:
1) 私は現在、GPU 全体を占有する Evaluation_loop 用のこのモデルを持っていますが、めったに使用されていません。リソースを割り当てるためのより良い方法があると思います。複数の異なるモデル (複数のディレクトリ内のチェックポイント) の進行状況を監視するために同じ Evaluation_loop を使用できれば、非常に便利です。このようなことは可能ですか?
2) 評価とトレーニングの間にフィードバックはありません。私は大量のモデルをトレーニングしていますが、早期停止を使用して、学習していないモデルや収束していないモデルを停止したいと考えています。これを行う方法はありますか?理想的には検証セットからの情報を使用しますが、トレーニング データに基づいている必要がある場合も問題ありません。
3) 私のワークフローはすべて間違っているのでしょうか? 別の方法で構成する必要がありますか? ドキュメントからは、トレーニングと組み合わせて評価を使用する方法が明確ではありません。
更新
~~TF r0.11 の時点で、 を呼び出すときに segfault も発生しているようslim.evaluation.evaluation_loop
です。たまにしか発生しません(私の場合、ジョブをクラスターにディスパッチするとき)。~~これは、評価ループ (sv.managed_session
テンソルprepare_or_wait_for_session
フローの 2 番目のインスタンス) が、最初のインスタンスによって既に要求されている GPU を使用しようとしたためです。
tensorflow - TFSlim - VGG16 の保存されたチェックポイントのロードに関する問題
(1) レイヤーを除くすべてのレイヤーに事前トレーニング済みの重みをロードすることにより、TFSlim を使用して VGG-16 ネットワークを微調整しようとしていますfc8
。次のように TF-SLIm 関数を使用してこれを達成しました。
num_classes
VGG16 モデルの を変更しない限り、これは正常に機能します。私がやりたいことは、num_classes
を 1000 から 200 に変更することです。vgg16-modified
を置き換える新しいクラスを定義してこの変更fc8
を行うと、200 の出力を生成するようになるという印象を受けvariables_to_restore = slim.get_variables_to_restore(exclude=['fc8'])
ました。 . ただし、テンソルフローは次元の不一致を訴えます:
では、実際にこれを行うにはどうすればよいでしょうか。TFSlim のドキュメントは本当に不完全で、いくつかのバージョンが Github に散在しているため、あまり役に立ちません。
tensorflow - インセプション v1 (tf-slim) グラフをフリーズできません
スリム ウォークスルー ノートブックからすべての例を正常に実行した後、グラフをフリーズしたいと考えました。それを行うために、私は以下を実行しました(元のノートブックからのコピー):
上記のコードにより、/tmp/inception_finetuned フォルダーに次のファイルが作成されました。
- チェックポイント
- model.ckpt-0.meta
- events.out.tfevents.1478081437.Nikos-MacBook-Pro.local
- model.ckpt-2 グラフ.pbtxt
- model.ckpt-2.meta モデル.ckpt-0
次に、グラフをフリーズするために、次のコマンドを実行しました。
ただし、このコマンドは次のエラーを生成しました。
次に、別のオプティマイザを使用しようとしました:
次のエラーが発生しました:
同様に、次のコマンドを実行してモデルを再トレーニングする場合:
グラフをフリーズしようとすると、関連するエラーが表示されます
global_step
上記のエラーが発生する理由と解決方法を知っている人はいますか? 誰かが inception v1 (tf-slim) グラフをフリーズできた場合、問題を解決する可能性のある提案に感謝します。
tensorflow - Tensorflow Slim : 異なるバージョンの重要性
inception-v3 モデルの上にモデルを構築するために tf スリム ライブラリを使用しようとしています
tf スリム ライブラリは、バージョン ' import tensorflow.contrib.slim as slim 'を使用します。
インセプションモデルは「from inception.slim import slim」を使用します
両方のバージョンには、いくつかの共通のファイル セットといくつかの異なるファイル セットがあります。たとえば、layers.pyが inception.slim に存在しないなどです。
- ライブラリの 2 つのバージョンを持つことの意味は何ですか?
- 両方のライブラリのアプリケーションに違いはありますか
- inception.slim には、 tf.op_scopeやtf.variable_op_scopeなどの廃止された関数を含むファイルが含まれていますか?