2017-11-10 12 views
0

私は、転送学習を使用して画像分類子を再学習する方法を学ぼうとしています。 this tutorial.画像分類器のpythonスクリプトを書く場所

私はモデルをうまく再トレーニングしましたが、最後には新しく訓練されたモデルを分類するためのpythonスクリプトを書いています。ビデオでは、彼は4時18分にコードを書き始めるが、どこに指定していない。私はドッカーのコンテナにそれを書こうとしますが、それは私にno module named platformエラーとNameError: name 'sys' is not definedエラーを与えます。ローカルマシンに依存関係をインストールしていないので、私は自分のマシンにローカルで書き込みを試み、エラーも発生します。私はチュートリアルの最後のステップのためのPythonコードを書く場所がわかりません。どんな助けもありがとうございます。

ターミナルコードとエラー:

[email protected]:/tensorflow# python 
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tensorflow as tf, sys 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "tensorflow/__init__.py", line 24, in <module> 
    from tensorflow.python import * 
    File "tensorflow/python/__init__.py", line 49, in <module> 
    from tensorflow.python import pywrap_tensorflow 
    File "tensorflow/python/pywrap_tensorflow.py", line 25, in <module> 
    from tensorflow.python.platform import self_check 
ImportError: No module named platform 
>>> image_path = sys.argv[1] 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'sys' is not defined 

答えて

0

この場合の適切な方法は、IDEを使用してpythonスクリプトをコンピュータの.pyファイルにローカルに書き込んだ後、そのファイルをDockerコンテナにコピーすることです。テンソルフローライブラリがローカルにインストールされていない場合、import tensorflow as tfのようなテンソルフロー固有のステートメントはエラーを生成しますが、ファイルはコンテナ内で実行されるため無視できます。

.pyファイルの名前をmyScript.pyとしましょう。コンピュータからコンテナに.pyファイルを転送するには、次のコマンドを実行します。docker cp myScript.py myContainer:/myScript.py

.pyファイルは、簡単に見つけやすい場所に置いてください。モデルを再学習するときは、次のコマンドを実行して正しいスクリプトを実行してください: python tensorflow/examples/image_retraining/myScript.py これは正しいファイルを指しており、すべてをローカルで実行しているかのように読み込まれます。

チェックアウト詳細は以下のリンク:tensorflowを再インストールするとき

Copying files from host to Docker container

https://docs.docker.com/engine/reference/commandline/cp/

0

コンテナ内のあなたのtensorflowパッケージはbrokenです。私は最良の方法は、アンインストールしてfresh installテンソルフローを再確認することですが、最新バージョン(1.4現在)を確認してください。

2番目のエラー"NameError: name 'sys' is not defined"は、最初のエラーに続くものです。ステートメントimport tensorflow as tfがエラーを発生させるため、sysモジュールがインポートされませんでした。

テンソルフローを取得したら、Pythonコンソールipython notebookにコードを書き込むか、standalone python scriptsを作成します。

+0

、私はまだ "gcr.io/tensorflow/tensorflow:latest-devel" コマンドを使用する必要がありますか?私のバージョンを確認するにはどうしたらいいですか? –

+0

単に 'pip install tensorflow'を試しましたか? – Maxim

+0

私はテンソルフローイメージを持つDockerコンテナを使用しています。ピップインストールコマンドは、コンピュータ上のすべてのものがローカルにある場合にのみ動作しますか? –

関連する問題