質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2142閲覧

TensorFlow をCPUで使用する際のエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/11/10 03:43

編集2018/11/11 06:13

前提・実現したいこと

画像から説明文を生成する手法の「Show and Tell」をCPUで実行しようとしています。
以下の参考サイト通りに進めています。
参考記事

発生している問題・エラーメッセージ

キャプション生成の最後の実行で、以下のエラーが出ました。
run_inference スクリプトをビルドをするところまでは、できています。

tensorflow.python.framework.errors_impl.NotFoundError: ~/test/M/models/research/im2txt/word_counts.txt; No such file or directory

該当のソースコード

以下が、参考記事のコードです。
このtest/M/researchというのが、gitからクローンしたもともとのフォルダには存在せず、記事中ではここで初めて出てきたので、それが問題になっているのではないかと推測されます。

しかし、解決方法がわからないので、質問させていただきました。

~/test/models/research/im2txt/bazel-bin/im2txt/run_inference \ --checkpoint_path="~/test/M/models/research/im2txt/model.ckpt-2000000" \ --vocab_file="~/test/M/models/research/im2txt/word_counts.txt" \ --input_files="~/test/M/models/research/im2txt/im2txt/cat.jpg"

試したこと1

参考記事の「トレーニング済みモデルの準備」で処理しなければならないmodel.ckpt-2000000というファイルの変更日が2016年になっていたので、再度参考記事に明記されていた以下のコードを実行して処理したところ、エラーが表示されました。

参考記事とは異なるファイル階層で、プログラムを実行したので最初の2行は、参考記事から変更しました。

python

1OLD_CHECKPOINT_FILE = "model.ckpt-2000000" 2NEW_CHECKPOINT_FILE = "model.ckpt-2000000" 3 4import tensorflow as tf 5vars_to_rename = { 6 "lstm/BasicLSTMCell/Linear/Matrix": "lstm/basic_lstm_cell/weights", 7 "lstm/BasicLSTMCell/Linear/Bias": "lstm/basic_lstm_cell/biases", 8} 9new_checkpoint_vars = {} 10reader = tf.train.NewCheckpointReader(OLD_CHECKPOINT_FILE) 11for old_name in reader.get_variable_to_shape_map(): 12 if old_name in vars_to_rename: 13 new_name = vars_to_rename[old_name] 14 else: 15 new_name = old_name 16 new_checkpoint_vars[new_name] = tf.Variable(reader.get_tensor(old_name)) 17 18init = tf.global_variables_initializer() 19saver = tf.train.Saver(new_checkpoint_vars) 20 21with tf.Session() as sess: 22 sess.run(init) 23 saver.save(sess, NEW_CHECKPOINT_FILE) 24

エラー文

$ python checkpoint_change.py 2018-11-11 14:45:58.509219: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA 2018-11-11 14:46:17.630002: W tensorflow/core/framework/op_kernel.cc:1273] OP_REQUIRES failed at save_restore_v2_ops.cc:109 : Not found: ; No such file or directory (略) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "checkpoint_change.py", line 23, in <module> saver.save(sess, NEW_CHECKPOINT_FILE) File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1458, in save raise exc ValueError: Parent directory of model.ckpt-2000000 doesn't exist, can't save.

しかし、階層を変えて

OLD_CHECKPOINT_FILE = "test/models/research/im2txt/model.ckpt-2000000" NEW_CHECKPOINT_FILE = "test/models/research/im2txt/model.ckpt-2000000"

にしたところ、エラーは起きず、

model.ckpt-2000000.data-00000-of-00001 model.ckpt-2000000.index model.ckpt-2000000.meta

の3つのファイルが生成されました。

試したこと2

参考記事の実行コマンドでは、Mフォルダがないというエラーが出ていたので、Mフォルダのないコマンドで試したところ。さらに別のエラーが出て、解決できませんでした。

bash

1$ test/models/research/im2txt/bazel-bin/im2txt/run_inference --checkpoint_path="test/models/research/im2txt/model.ckpt-2000000" --vocab_file="test/models/research/im2txt/word_counts.txt" --input_files="test/models/research/im2txt/im2txt/cat.jpg" 2

エラー文

NotFoundError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error: Key lstm/basic_lstm_cell/bias not found in checkpoint [[node save/RestoreV2 (defined at /Users/username/Desktop/show_and_tell/test/models/research/im2txt/bazel-bin/im2txt/run_inference.runfiles/im2txt/im2txt/inference_utils/inference_wrapper_base.py:116) = RestoreV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, ..., DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]

補足情報(FW/ツールのバージョンなど)

MacOS mojave
tensorflow 1.12.0
numpy 1.15.4
Babel 2.3.4
Python 3.6.0 :: Anaconda 4.3.0 (x86_64)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/11/10 10:09

回答依頼いただきましたが、全く専門外なので期待には応えられません。他に専門知識をお持ちのかたに回していただければと
can110

2018/11/10 22:27

参考記事にそって実際に行った手順を明記されると回答得られやすいかと思います(抜けた/誤った手順はないか?)
guest

回答1

0

ベストアンサー

動作未検証なので推測ですがトレーニング済みモデルの準備の手順が抜けている、あるいは異なる場所にword_counts.txtを解凍配置したのではないでしょうか?

投稿2018/11/10 22:30

can110

総合スコア38262

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/11 05:41

ご回答いただきましてありがとうございます。トレーニング済みモデルの準備は行いました。~/test/models/research/im2txt配下に「im2txt_2016_10_11.2000000.tar.gz」を解凍し、「word_counts.txt」を置きました。その後、トレーニング済みモデルの準備で「word_counts.txt」の中身を変更し、checkpoint file(model.ckpt-2000000) の修正を行いました。 word_counts.txtは、txtファイルなので解答できないと思うのですが、どういうことでしょうか。
can110

2018/11/11 05:48

つまり手順は間違いないという理解でよろしいでしょうか?
退会済みユーザー

退会済みユーザー

2018/11/11 06:01

はい。手順は買いてある通りに行なっています。
退会済みユーザー

退会済みユーザー

2018/11/11 06:03

質問にも買いてありますように最後に実行させるときに、"~/test/M/models"と買いてあり、このMフォルダを作成していないので何のことかわかりません。 ``` ~/test/models/research/im2txt/bazel-bin/im2txt/run_inference \ --checkpoint_path="~/test/M/models/research/im2txt/model.ckpt-2000000" \ --vocab_file="~/test/M/models/research/im2txt/word_counts.txt" \ --input_files="~/test/M/models/research/im2txt/im2txt/cat.jpg" ```
can110

2018/11/11 06:09

記事を読んでいましたが「~/test/M/models/」のMあたりのフォルダ構成が明確になっていないようで気になってました。 結局、記事の手順通りに作業しても、そのとおりの結果が得られないということかと思います。 記事の作成者に聞くべき質問のように思われてきました。
退会済みユーザー

退会済みユーザー

2018/11/11 06:14

Mフォルダを無くすとエラーが起きてしまいました。やはりこのフォルダが問題のようですね。
can110

2018/11/11 06:16

惜しい処まで来ているような気はするのですが… お役に立てず申し訳ありません。
退会済みユーザー

退会済みユーザー

2018/11/13 04:55

ありがとうございます。 参考記事元に連絡してみましたが、お返事がない状況です。 他に参考になりそうな記事がなく、実装できない状況なのですが、どうにか解決する方法はないのでしょうか。
退会済みユーザー

退会済みユーザー

2018/11/13 04:57

惜しいところまで来ているので、なんとかしたいのですが、記事元の方に連絡が取れないと無理でしょうか。 何卒よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2018/11/17 03:23

https://teratail.com/questions/158038 こちらの質問で、Mフォルダを設定しなかった場合のエラーに関しても明記させていただきました。 確認いただけますと幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問