我使用迁移学习MobileNetV2,batch_size = 12,输入图像大小(512,512,3)处理数据'tfrecord',最初的内存是正常的,但是经过400批左右,它将快速增长然后溢出
日志显示,在11:41时内存突然从6.5g增加到超过26gb,导致内存溢出
时间戳级别消息Nov 6,2019,11:41:01 AM警告警告:root:内核8e667f48-ab7f-4f70-96b1-12f8f0ae98b4 重启Nov 6,2019,11:41:01 AM INFO KernelRestarter:正在重启 内核(1/5),保留随机端口Nov 6,2019,11:34:53 AM WARNING 2019-11-06 03:34:53.925880:我 tensorflow / stream_executor / platform / default / dso_loader.cc:44] 成功打开动态库libcudnn.so.7 Nov 6,2019, 11:34:36 AM WARNING 2019-11-06 03:34:36.746117:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1304]已创建 TensorFlow设备(/ job:localhost /副本:0 /任务:0 /设备:GPU:0与 10805 MB内存)->物理GPU(设备:0,名称:Tesla K80,PCI总线 id:0000:00:04.0,计算能力:3.7)2019年11月6日,11:34:36 AM WARNING 2019-11-06 03:34:36.745232:我 tensorflow / stream_executor / cuda / cuda_gpu_executor.cc:1006]成功 从SysFS读取的NUMA节点的值为负(-1),但必须存在 至少一个NUMA节点,因此将NUMA节点返回零2019年11月6日, 11:34:36 AM警告2019-11-06 03:34:36.744291:I tensorflow / stream_executor / cuda / cuda_gpu_executor.cc:1006]成功 从SysFS读取的NUMA节点的值为负(-1),但必须存在 至少一个NUMA节点,因此将NUMA节点返回零2019年11月6日, 11:34:36 AM警告2019-11-06 03:34:36.744095:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1178] 0:N 11月6日, 2019,11:34:36 AM警告2019-11-06 03:34:36.744078:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1165] 2019年11月6日, 11:34:36 AM WARNING 2019-11-06 03:34:36.744053:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1159]设备 将StreamExecutor与强度1边缘矩阵互连:2019年11月6日, 11:34:36 AM警告2019-11-06 03:34:36.743980:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1746]添加可见 gpu设备:0
我在Google'colab'上运行的程序通过将图片打包到'tfrecord'中来将图片上传到Google云盘上,从而采用了tensorflow2.0。我试图多次更改'batch_size',但都运行到一定批次的内存用完了
class DisplayCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs=None):
clear_output(wait=True)
show_predictions()
print ('\nSample Prediction after epoch {}\n'.format(epoch+1))
STEPS_PER_EPOCH = TRAIN_LENGTH // BATCH_SIZE
EPOCHS = 10
VAL_SUBSPLITS = 5
VALIDATION_STEPS = TRAIN_LENGTH//BATCH_SIZE//VAL_SUBSPLITS
model_history = model.fit(train_dataset, epochs=EPOCHS,
steps_per_epoch=STEPS_PER_EPOCH,
validation_steps=VALIDATION_STEPS,
validation_data=test_dataset,
callbacks=[DisplayCallback()])
内存不会溢出...但是它溢出了At the beginning of normal running memory did not slowly increase