如何迫使Keras使用更多的GPU而更少的CPU?

时间:2019-07-17 10:02:15

标签: python tensorflow keras lstm

运行以下内容:

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

给予

['/job:localhost/replica:0/task:0/device:GPU:0']

Keras可以清楚地看到我的GPU,但是,当我训练模型时,专用的GPU内存确实跳到了7/8 GB,但利用率仅为5%。另外我的GPU内存是16 GB,因此可以使用超过7 GB吗?我有GTX 1070。

与此同时,我的CPU使用率跃升到30%,这要比我指定用于训练的CPU少。

enter image description here enter image description here

我的模型如下

with tf.device('/gpu:0'):
    model = Sequential()
    model.add(CuDNNLSTM(128, input_shape=(y_ba_tr_in.shape[1:]), return_sequences=True, stateful=False, kernel_initializer='random_uniform'))
    model.add(CuDNNLSTM(128, return_sequences=True))
    model.add(CuDNNLSTM(128, return_sequences=True))
    model.add(CuDNNLSTM(32, return_sequences=False))
    model.add(Dense(5,activation='relu'))
    model.add(Dense(1))

    model.compile(optimizer=adam(lr=0.0001), loss='mean_squared_error', metrics=['accuracy'])


    model.fit(y_ba_tr_in, y_ba_tr_out,
          epochs=300,
          batch_size=5,shuffle=False,verbose=2)

0 个答案:

没有答案