2017-12-22 11 views
0

Google Cloud Machine Learning (ML) Engineを使用して自分の足を濡らそうとします。私はGoogleのセットアップ手順に従って、このコマンドを発行していますGoogle Cloud Machineラーニングエンジンでローカル実行用のトレーナーモジュールが見つかりません

gcloud ml-engine local train \ 
    --module-name trainer \ 
    --package-path $(pwd) \ 
    --job-dir $JOB_DIR 

私のトレーナーは、ファイル$(pwd)/trainer.pyに存在し、まだ私は、このエラーメッセージが表示されます。

~/cmle-quickstart/bin/python: No module named trainer 

私が間違っているのは何を?

答えて

3

コードは有効なPython packageである必要があります。__init__.pyを入力する必要があります。空白にすることができます。

まず、__init__.pyを作成します。実行上記と同じディレクトリから:ローカルトレーニングを実行するには

touch __init__.py 

、あなたは今、モジュールの親ディレクトリが含まれ、その完全修飾名でモジュールを参照する必要があります。もしそうなら、あなたのディレクトリ構造は次のようになります。

- my_model 
    - __init__.py 
    - trainer.py 

は、次にパッケージ名は my_modelで、モジュール名は、もちろん、 trainerです。だから、トレーニングを実行するには、次のコマンドを使用します。

gcloud ml-engine local train \ 
    --module-name my_model.trainer \ 
    --package-path $(pwd) \ 
    --job-dir $JOB_DIR 

をここでは、gcloudを言っている:私は$(pwd)で有効なPythonのパッケージを持っています。

(cd $PACKAGE_PATH/.. && python -m my_model.trainer) 

PACKAGE_PATHポイントmy_modelディレクトリへ:私はあなたが実行したい、そのパッケージ内の完全修飾モジュール名には、これは次のコマンドと同等であることをmy_model.trainer

注意です。

recommended project structureのドキュメントも参照してください。

関連する問題