Keras在谷歌云机器学习似乎不使用GPU?有可能让它成功吗?



我尝试在cloud ml (google云平台)上运行带有tensorflow后端的Keras。我发现keras似乎不使用GPU。在我的CPU上运行一个epoch的性能是190秒,等于我在转储的日志中看到的性能。是否有一种方法来识别代码是否在GPU或CPU在keras中运行?有没有人尝试过Keras在Cloud ML与张量流后端运行??

更新:截至2017年3月,gpu是公开可用的。参见刘富阳的回答

gpu目前在CloudML上不可用。然而,他们将在接下来的几个月。

是现在支持。

基本上,您需要在模块中添加一个文件,例如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

你可能还想检查这个url的GPU可用区域和其他信息。

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

应该使keras将每个张量的设备位置打印到标准输出或标准输出。

相关内容

  • 没有找到相关文章

最新更新