Keras Sequential模型编译后卡住,无法启动训练
Keras Sequential模型编译后卡住,无法启动训练
你遇到的这个问题我之前也碰到过类似的情况,核心原因其实是内存过载导致训练无法正常启动。
你当前的做法是把所有训练和测试图片一次性加载成一个巨大的数组,当数据集规模不算小的时候,这种方式会瞬间占满你的内存,让TensorFlow在处理数据适配器(DataAdapter)环节卡住,甚至最后触发键盘中断的报错(就是你贴出来的KeyboardInterrupt)。
给你几个可行的解决思路:
- 放弃一次性加载全部数据的方式,改用TensorFlow提供的流式数据加载工具,它会按需读取图片,而不是把所有数据都塞进内存。比如
tf.keras.utils.image_dataset_from_directory这个API,能直接从指定文件夹读取图片,自动处理成适合模型训练的数据集,还支持批量加载、数据打乱、预处理等实用操作。 - 也可以结合
tf.data.Dataset的相关方法构建数据管道,比如用from_generator自定义数据生成逻辑,让数据在训练时流式传输,从根本上降低内存占用。
很高兴看到你最后用TensorFlow的数据集处理方法解决了问题,这种方式确实是处理较大数据集时的最优选择,能有效避免内存过载的问题。
备注:内容来源于stack exchange,提问作者ctxj
相关产品推荐
相关产品推荐

