問題タブ [tensorflow-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 - 異なるグラフで単一のテンソルフロー モデルを「再利用」しますか?
現在、Tf-Slim ライブラリで事前トレーニング済みの VGG モデルを使用しています。私の動機は、このネットワークの特定の画像に対して敵対的な例を生成することです。タスクの概要は次のとおりです。
ただし、2 回目の反復に入って logits= vgg.vgg16(....) の実行を開始するとすぐに、次のエラーが発生します。
このエラーは、2 回目の繰り返しでグラフが複製されたために発生したことは明らかです。tf-slim モデルはスコープで使用しないためreuse=True
、このエラーがスローされます (2 回目の繰り返しで、グラフに vgg レイヤーを追加するように再度要求するため、既に存在します)。
どういうわけかこのエラーを回避することは可能ですか? VGG モデルのグラフを一度作成すれば、ロジットを計算する必要があるときはいつでもそれを使用できるはずです。
これが可能な理由は、ケラスの例です。ケラスでは、モデルを一度定義するだけで済みます。
後で、さまざまなテンソルの計算ロジットを追加できます。
これらの両方の計算で、同じモデル パラメータが使用されます。つまり、そのようなエラーは表示されません。tensorflow モデルで同じ機能を実現する方法はありますか?
tensorflow - 事前トレーニングされた TensorFlow グラフで最後/最上層を再トレーニングする一般的な方法
「Tensorflow検出モデル ズー」のさまざまな事前トレーニング済み TensorFlow モデルをデータで実験しています。データの最適な構成を見つけるために、各モデルの最も深い N 層のみを再トレーニング (微調整) したいと考えています。どのアーキテクチャでも機能し、レイヤー名 (モデル間で変化する) に依存しない一般的な形式でこれを行う方法はありますか? または、グラフに最後の N 層の名前を照会する簡単な方法はありますか (つまり、ops ではなく層を意味します)?