0

私は現在、Google MLエンジンにモデルを導入することについての調査を行っています。最初は、TensorFlow 1.1.0を使用したモデルを開発しました。このモデルは最新バージョンです(この質問が出される時点で)。しかし、GCPでサポートされているTensorFlowの最高バージョンは1.0.1であることが判明しました。TensorFlow 1.0.1 SavedModelBuilder

以前はTensorFlow 1.1.0を使用していたときに、とその変数をvariables/ディレクトリに正しく保存することになりました。しかし、TensorFlow 1.0.1に切り替えると、同様に動作しませんでした。SavedModelファイルが作成されましたが、variables/の下にファイルが作成されていないため、ファイルSavedModelvariables/のファイルがありません)のみを使用してモデルを構築できません。

既知のバグですか?または、TensorFlow 1.0.1のSavedModelBuilderをTensorFlow 1.1.0の機能として動作させるために何かする必要がありますか?

ありがとうございます。

EDIT、詳細:

は実際に、明示的なtf.Variable sが私のモデルに存在しません。しかし、いくつか存在しており、TensorFlow 1.1.0では正しくエクスポートされていますが、TensorFlow 1.0.1では正しくエクスポートされていません(変数が1.0.1ではまったくエクスポートされていないため)。

+0

を明確にするために、例えば、あなたのトレーニングの仕事への追加パッケージとして指定し、あなたは 'tf.contrib.lookup.MutableDenseHashTable'が1.1.0に変数としてエクスポートされていることを言ってますが、していません1.0.1? – jwayne

+0

@jwayne変数としてエクスポートされているかわかりません。しかし、モデルの保存と読み込み(1.1.0の 'SavedModelBuilder'を含む' MutableDenseHashTable'を含む)はうまく動作しますが、1.0.1では動作しません。 – sokokaleb

答えて

0

変数を持たないTensorFlowでモデルを保存して読み込む機能が、commitに導入されました。これは1.1.0でのみ使用できます。

回避策として、モデルにダミー(未使用)変数を作成することができます。

編集:OPの更新に基づいて て保存されていないMutableDenseHashTableがあるように、それが聞こえます。

Cloudmark EngineでTensorFlow 1.1を実行できますが、手動で追加パッケージとして追加する必要があります。

まず、TensorFlow 1.1 wheelをダウンロードしてください。その後

gcloud ml-engine jobs submit training my_job \ 
    --module-name trainer.task \ 
    --staging-bucket gs://my-bucket \ 
    --package-path /my/code/path/trainer \ 
    --packages tensorflow-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl 
+0

実際、SavedModelはサービングモデルとして使用されるため、変数とその値を保存する必要があるので、グラフとその変数+コンテンツの両方を一度復元すると直接読み込むことができます。 – sokokaleb

関連する問題