AIcomes 发表于 2020-4-27 20:34:28

TFRecord读取很慢

为了提高TFRecord的读取速度,可以考虑下面四个方法:
一、设置MIN_AFTER_DEQUEUE 对于函数tf.train.shuffle_batch(, batch_size=batch_size,num_threads=2, capacity=MIN_AFTER_DEQUEUE + 3*batch_size,min_after_dequeue=MIN_AFTER_DEQUEUE),其中常量MIN_AFTER_DEQUEUE的设置非常关键。一个较大的MIN_AFTER_DEQUEUE将助力模型训练,尽管启动时间会慢以及将占用更高的内存。二、CPU vs GPU数据预处理时用CPU,对于计算量大的矩阵操作则放在GPU上运行。如果GPU很少处于100%的利用率,这表明CPU没有从磁盘加载足够的数据来喂给模型。三、保留较大的tfrecords尝试保留较大的tfrecords而不是许多tdrecords,以便可以在不切换多个文件的情况下更快地读取数据。 四、使用压缩格式如果要处理图像类型的数据,请不要将原始图像保存到tfrecords中,而应使用jpeg或类似格式,这样它们将占用更少的文件大小,并且可以更快地读取。 jpeg解码计算对于GPU来说是非常小的成本。

页: [1]
查看完整版本: TFRecord读取很慢