Performance Tensorflow/Keras性能更好,GPU内存更少?
减少GPU内存分配会提高CNN模型的训练速度。我的预期正好相反——随着内存的分配,速度应该会下降。我怀疑这与在GPU内外传输数据所需的时间有关 我在案例中分配了a)所有GPU内存,b)大约一半(46%)的GPU内存。使用所有GPU内存(无限制)训练速度为153个历元/小时。当分配46%的GPU内存时,训练速度为199个历元/小时 我通过以下方式设置GPU内存:Performance Tensorflow/Keras性能更好,GPU内存更少?,performance,tensorflow,keras,gpu,Performance,Tensorflow,Keras,Gpu,减少GPU内存分配会提高CNN模型的训练速度。我的预期正好相反——随着内存的分配,速度应该会下降。我怀疑这与在GPU内外传输数据所需的时间有关 我在案例中分配了a)所有GPU内存,b)大约一半(46%)的GPU内存。使用所有GPU内存(无限制)训练速度为153个历元/小时。当分配46%的GPU内存时,训练速度为199个历元/小时 我通过以下方式设置GPU内存: gpu_memory_fraction = 0.46 # Values tested: 0.46 and 1 config =
gpu_memory_fraction = 0.46 # Values tested: 0.46 and 1
config = tf.compat.v1.ConfigProto()
if gpu_memory_fraction < 1.0:
config.gpu_options.per_process_gpu_memory_fraction = gpu_memory_fraction
K.tensorflow_backend.set_session(tf.Session(config=config))
gpu内存分数=0.46#测试值:0.46和1
config=tf.compat.v1.ConfigProto()
如果gpu_内存_分数<1.0:
config.gpu\u options.per\u进程\u gpu\u内存\u分数=gpu\u内存\u分数
K.tensorflow_backend.set_session(tf.session(config=config))
我使用kerasmodel.fit()
方法进行培训。批量大小=64
环境:
- python 3.7.5
- keras 2.2.4
- tensorflow 1.15.0
- 康达4.7.12
- CUDA 10.2
- Nvidia驱动程序440.44
- Ubuntu 18.04.3
- GPU:Nvidia GTX 1080Ti,11GB内存
- CPU英特尔i9-9900K 3.6 GHz,RAM 64 GB,SSD 120 GB