我想使用带有Keras和tensorflow后端的allow_growth配置 . 如建议f . 即在use tensorflow.GPUOptions within Keras when using tensorflow backend我实现了我的代码如下:

import keras.backend.tensorflow_backend as K
import tensorflow as tf
...

gpu_options = tf.GPUOptions(allow_growth=True)
config = tf.ConfigProto(gpu_options=gpu_options)
sess = tf.Session(config = config)
K.set_session(sess)


model = Sequential()
model.add(...)
...
model.compile(...)
model.fit(...)

有了nvidia-smi,我可以看到,动态分配有效 . 但是应用这种适应性后,我无法在分类准确度方面取得任何改进,这意味着验证错误在多个时期内保持不变 .

希望您能够帮助我 .

编辑:前10个时期的输出:

大纪元1/30 307/307 [==============================] - 45s 147ms /步 - 损失:3.7766 - acc :0.0558 - val_loss:3.7457 - val_acc:0.0420

Epoch 2/30 307/307 [==============================] - 43s 140ms /步 - 损失:3.7372 - acc :0.0566 - val_loss:3.7309 - val_acc:0.0420

Epoch 3/30 307/307 [==============================] - 44s 143ms /步 - 损失:3.7222 - acc :0.0566 - val_loss:3.7170 - val_acc:0.0420

Epoch 4/30 307/307 [==============================] - 45s 146ms /步 - 损失:3.7079 - acc :0.0566 - val_loss:3.7037 - val_acc:0.0420

Epoch 5/30 307/307 [==============================] - 46s 150ms /步 - 损失:3.6944 - acc :0.0566 - val_loss:3.6911 - val_acc:0.0420

Epoch 6/30 307/307 [==============================] - 45s 147ms /步 - 损失:3.6815 - acc :0.0565 - val_loss:3.6793 - val_acc:0.0420

Epoch 7/30 307/307 [==============================] - 44s 144ms /步 - 损失:3.6693 - acc :0.0566 - val_loss:3.6680 - val_acc:0.0420

Epoch 8/30 307/307 [==============================] - 44s 143ms /步 - 损失:3.6577 - acc :0.0566 - val_loss:3.6573 - val_acc:0.0420

Epoch 9/30 307/307 [==============================] - 45s 147ms /步 - 损失:3.6467 - acc :0.0566 - val_loss:3.6473 - val_acc:0.0420

Epoch 10/30 307/307 [==============================] - 44s 143ms /步 - 损失:3.6363 - acc :0.0565 - val_loss:3.6378 - val_acc:0.0420