https://qiita.com/quotto/items/645b01cf9c3919a52b12#tensorflow%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB
上記チュートリアルページにある手順に従ってpythonファイルを実行すると、/flower_photos' not found.というエラーがでます。
実行フォルダには実際にこのflower_photosフォルダが存在します。
\flower_photosの場所をいくつか変えて試してみましたが、結果は同じでした。
1.imageフォルダの中×
2.retrain.pyと同じフォルダ×
何か思い当たる点ありましたら、アドバイスをお願いします。
参考にしてるWebページに
python retrain.py --image_dir ~/flower_photos
と書かれてますけど、上記の「~/flower_photos」の部分は、質問者さんがコードを実行する際には、具体的にどのように指定してますでしょうか?
その指定と、実際に「flower_photos」ディレクトリが存在する場所が一致してないのかもしれません
jpb0様
ご回答ありがとうございます。
コードの指定と実際のデイレクトリの不一致ですが、
C:\Users\Y\jupyter\object_detection/retrain.py --image_dir \flower_photos
と指定しています。
このobject_detectionフォルダにretrain.pyがあり、imageフォルダを置いております。imageフォルダ内にflower_photosフォルダがあります。
よろしくおねがいします。
「--image_dir \flower_photos」
としたら、Cドライブ直下の「C:\flower_photos」を指定してることになるような気がします
試しに、「flower_photos」をCドライブ直下に移して実行してみてください
(「image」は無し)
jbpb0様
アドバイスありがとうございます。flower_photosフォルダの場所を
C直下に変えてみましたが、やはりエラーがでました。
コードの指定から--image_dirを外して、試しに実行しましたが、この場合はtensorflow:Must set flag --image_dirとエラーがでてしまいます('◇')ゞ
> やはりエラーがでました。
エラーメッセージは
> /flower_photos' not found.
と同じですか?
あと、「flower_photos」がCドライブ直下にある状態で、
「--image_dir /flower_photos」
としてみてください
jbpb0様
お付き合いいただきありがとうございます。
1.はい、エラーは> /flower_photos' not found.と同じです。
2.こちらも試してみましたが、同じ状況です。
jbpb0様の環境でコマンドをお試しいただくことは可能でしょうか?
)https://qiita.com/quotto/items/645b01cf9c3919a52b12#tensorflow%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB
C:\Users\XXX\Downloads
に「retrain.py」と「flower_photos」ディレクトリがある状態で、下記の5通りの方法を試して、どれでも実行できました
cd C:\Users\XXX\Downloads
python retrain.py --image_dir flower_photos
cd C:\Users\XXX\Downloads
python retrain.py --image_dir ./flower_photos
cd C:\Users\XXX\Downloads
python retrain.py --image_dir .\flower_photos
cd C:\
python C:/Users/XXX/Downloads/retrain.py --image_dir C:/Users/XXX/Downloads/flower_photos
cd C:\
python C:\Users\XXX\Downloads\retrain.py --image_dir C:\Users\XXX\Downloads\flower_photos
なお、4, 5番目の方法でCドライブ直下(C:\)にcdしてるのは、全く関係無いところにcdしてから実行する例ですので、Cドライブ直下ではない場所でも大丈夫です
jbpb0様、お手数をおかけしました。お時間を割いて検証していただきありがとうございました。5通りの指定方法、いづれも実行できたのですね。
お試しいただいた方法をまねてやってみたところ、ファイルが見つからないというエラーはなくなりました。
代わりに以下のエラーがでます。2021-08-12 06:38:39.323478: F tensorflow/stream_executor/lib/statusor.cc:34] Att
empting to fetch value instead of handling error Not found: could not retrieve C
UDA device attribute (81): UNKNOWN ERROR (1)
Fatal Python error: Aborted
実行したのはWin 8.1PCなのですが、別のWin 10パソコンでも試してみます。取り急ぎお礼まで。
yasupic2002
jbpb0様、別のWin 10パソコンで試したところ、エラーなしに実行できました。ありがとうございました。
重ねて同じサイトにある下記のコマンドをお試しいただいてもよろしいでしょうか?ここで--output_layer' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていませんとエラーがでてしまいます。
お手数をおかけして申し訳ありませんがよろしくお願いします<m(__)m>
「同じサイトにある下記のコマンド」とは?
大変失礼いたしました(-_-;)
以下のコマンドとなります。
(tensorflow)$ python label_image.py \
--graph=C:/tmp/output_graph.pb --labels=C:/tmp/output_labels.txt \
--input_layer=Placeholder \
--output_layer=final_result \
--image=~/flower_photos/daisy/21652746_cc379e0eea_m.jpg
各行の行末の「\」を取って、改行も無くして全部つなげて、「python...jpg」を途中の改行無しで1行で入力してみてください
なお、最後の「--image=...」は、「python retrain.py...」でうまくいった場合と同様なやり方で指定してください
jbpb0様
ご回答ありがとうございます。
現在、アドバイス頂いた内容に変えて、コマンドを打ち込んでいますが
label_image.py: error: unrecognized arguments: --image_dir ./flower_photos/daisy/21652746_cc379e0eea_m.jpg
などのエラーがでます。
もう少し色々試してみます。
打ち込んだコマンド
python label_image.py --graph=C:/tmp/output_graph.pb --labels =C:/tmp/output_labels.txt --input_layer=Placeholder --output_layer=final_result --image_dir ./flower_photos/daisy/21652746_cc379e0eea_m.jpg
色々ありがとうございます
> 「--image=...」は、「python retrain.py...」でうまくいった場合と同様なやり方で指定してください
は、「=」の右の書き方に付いてです
「--image_dir」に変えたり、「=」を取ったりしたらダメです
image=C:/Users/Y/jupyter/object_detection/image/flower_photos/daisy/21652746_cc379e0eea_m.jpg
みたいにしてください
誤解される書き方をして、すみません
あるいは、あらかじめ
cd C:/Users/Y/jupyter/object_detection
を実行してあれば、
image=./image/flower_photos/daisy/21652746_cc379e0eea_m.jpg
でも大丈夫だと思います
上記ディレクトリパスは、実際のものに読み替えてください
jbpb0様
アドバイスありがとうございます<m(__)m>
ファイルが見つからないというエラーはなくなりました。
代わりに下記のエラーがでますが、これはWin PC側の設定でしょうか?
2021-08-13 21:35:36.861834: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found
2021-08-13 21:35:36.862300: E tensorflow/stream_executor/cuda/cuda_driver.cc:318] failed call to cuInit: UNKNOWN ERROR (303)
2021-08-13 21:35:36.911987: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: note
2021-08-13 21:35:36.912172: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: note
retrain.pyがちゃんと動いたWin 10 PCで、ですか?
jbpb0様、おはようございます。
ご回答ありがとうございます。
はい、同じWin 10 PCです。確認のため、再度retrain.pyを実行してみましたが、こちらはちゃんと動きました。
そのパソコンにはGPUが付いてて、CUDAをインストールしてて、tensorflowからGPUを使えるはずなのでしょうか?
それとも、GPUが付いてないとか、CUDAをインストールしてないとかで、tensorflowはCPUのみ使うのでしょうか?
あと、label_image.pyの実行(推論)結果は表示されるのでしょうか?
jbpb0様、ご連絡ありがとうございます。
エラーではなく、コマンドを実行したWin 10PCにはGPUがなく、CUDAをインストールしていないために表示されるWarningということですね。
理解不足でご迷惑をおかけしました。
確かにコマンドプロンプトをよく見ると、結果が表示されています。
ここまで詳しく丁寧に解説頂きありがとうございました<m(__)m>
大変助かります!
回答2件
あなたの回答
tips
プレビュー