2016-11-16 3 views
1

クラウドml(Googleクラウドプラットフォーム)でテンソルフローバックエンドでKerasを実行しようとしました。ケラスはGPUを使用していないようです。私のCPU上で1エポックを実行するパフォーマンスは190秒で、ダンプされたログに表示されるものと同じです。コードがGPUで実行されているのか、ケラスでCPUが実行されているのかを識別する方法はありますか?誰かがTensorフローバックエンドを実行してクラウドMLでKerasを試してみましたか?GoogleクラウドMLのKerasはGPUを使用していないようですか?それを動作させることは可能ですか?

答えて

1
import keras.backend.tensorflow_backend as K 
K._set_session(K.tf.Session(config=K.tf.ConfigProto(log_device_placement=True))) 

ケラスは、各テンソルのデバイス配置をstdoutまたはstderrに印刷する必要があります。

3

アップデート:2017年3月現在、GPUは一般公開されています。 Fuyang Liu's answer

現在、CloudMLではGPUが利用できません。しかし、彼らは今後数ヶ月になります。

3

はいこれで現在サポートされています。

基本的には、以下の内容を使用してモジュールに、このようなcloudml-gpu.yamlなどのファイルを追加する必要があります。

trainingInput: 
    scaleTier: CUSTOM 
    # standard_gpu provides 1 GPU. Change to complex_model_m_gpu for 4 
GPUs 
    masterType: standard_gpu 
    runtimeVersion: "1.0" 

その後--config=trainer/cloudml-gpu.yamlというオプションを追加します(あなたのトレーニングモジュールがtrainerというフォルダにあると仮定)。たとえば:

export BUCKET_NAME=tf-learn-simple-sentiment 
export JOB_NAME="example_5_train_$(date +%Y%m%d_%H%M%S)" 
export JOB_DIR=gs://$BUCKET_NAME/$JOB_NAME 
export REGION=europe-west1 

gcloud ml-engine jobs submit training $JOB_NAME \ 
    --job-dir gs://$BUCKET_NAME/$JOB_NAME \ 
    --runtime-version 1.0 \ 
    --module-name trainer.example5-keras \ 
    --package-path ./trainer \ 
    --region $REGION \ 
    --config=trainer/cloudml-gpu.yaml \ 
    -- \ 
    --train-file gs://tf-learn-simple-sentiment/sentiment_set.pickle 

また、GPU利用可能領域とその上に他の情報のためthis urlをチェックアウトすることをお勧めします。

関連する問題