使用 tensorflow.keras(支持 GPU 的 2.0-alpha0)我在新编译的模型和以前保存和重新加载的模型上使用 tf.keras.model.fit() 的初始化时间都非常长。
我相信这是在 tf.data.Datasets() 已经加载和预处理之后,所以我不明白什么需要这么长时间并且 TF/Keras 没有输出:
2019-04-19 23:29:18.109067: tensorflow/core/common_runtime/gpu/gpu_device.cc:1149] Created TensorFlow device
Resizing images and creating data sets with num_parallel_calls=8
Loading existing model to continue training.
Starting model.fit()
Epoch 1/100
2019-04-19 23:32:22.934394: tensorflow/core/kernels/data/shuffle_dataset_op.cc:150] Shuffle buffer filled.
2019-04-19 23:38:52.374924: tensorflow/core/common_runtime/bfc_allocator.cc:230] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.62GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
3 分钟加载模型并填充 shuffle 缓冲区和 6 分钟......什么?而这个神秘的作品又该如何优化呢?(5ghz 8700K,32 GB RAM,NVME SSD,1080ti 11G DDR5 - 任务管理器显示 100% 单线程 CPU 使用率,中等磁盘访问,缓慢扩展 RAM 使用率至最大 ~28GB,此期间 GPU 使用率为零)。
有没有办法以更有效的方式序列化或存储模型,以便它们可以定期启动和停止而无需 10 分钟的开销?
TF/Keras 是否在此期间以某种方式延迟加载数据集并对其进行预处理?