web-dev-qa-db-ja.com

KerasモデルをGPU上で実行できますか?

36時間の提出期限でKerasモデルを実行しています、私が私のモデルをcpuで訓練するならばそれはおよそ50時間かかるでしょう、gpuでKerasを実行する方法はありますか?

私はTensorflowバックエンドを使っていて、anacondaをインストールせずに私のJupyterノートブックでそれを実行しています。

64
Ryan

はい、GPU上でkerasモデルを実行することができます。最初に確認しなければならないことはほとんどありません。

  1. あなたのシステムはGPUを持っています(Nvidia。AMDはまだ動かないので)
  2. GPU版のtensorflowをインストールしました
  3. CUDAをインストールしました インストール手順
  4. テンソルフローがGPUで実行されていることを確認します GPUが機能しているかどうかを確認します

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

OR

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

出力は次のようになります。

[
  name: "/cpu:0"device_type: "CPU",
  name: "/gpu:0"device_type: "GPU"
]

以上の作業がすべて完了したら、モデルはGPU上で動作します。

Keras(> = 2.1.1)がGPUを使用しているかどうかを確認するには

from keras import backend as K
K.tensorflow_backend._get_available_gpus()

ではごきげんよう。

103
Vikash Singh

もちろんです。 GPU用のTensorFlowはすでにインストールされていると思います。

Kerasをインポートした後に次のブロックを追加する必要があります。私は56コアCPUとGPUを持っているマシンに取り組んでいます。

import keras
import tensorflow as tf


config = tf.ConfigProto( device_count = {'GPU': 1 , 'CPU': 56} ) 
sess = tf.Session(config=config) 
keras.backend.set_session(sess)

もちろん、この使い方は私のマシンの最大制限を強制します。あなたはCPUとGPUの消費量の値を減らすことができます。

10
johncasey

もちろん。 TensorflowまたはCNTkバックエンドで実行している場合、コードはデフォルトでGPUデバイスで実行されますが、Theanoバックエンドの場合、次を使用できます

Theanoフラグ:

「THEANO_FLAGS = device = gpu、floatX = float32 python my_keras_script.py」

0
Kevin Jarvis