如何通过Keras的model.fit_generator高效训练模型并节省内存?

2026-05-24 21:480阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1921个文字,预计阅读时间需要8分钟。

如何通过Keras的model.fit_generator高效训练模型并节省内存?

前段时期在训练模型的时候,发现当前训练集的数量过多,并且输入的图片维度过大,很容易超出内存限制。简单例子,如果我们有20000个样本,输入图片的维度是224x224x3,那么就很容易超内存了。

前言

前段时间在训练模型的时候,发现当训练集的数量过大,并且输入的图片维度过大时,很容易就超内存了,举个简单例子,如果我们有20000个样本,输入图片的维度是224x224x3,用float32存储,那么如果我们一次性将全部数据载入内存的话,总共就需要20000x224x224x3x32bit/8=11.2GB 这么大的内存,所以如果一次性要加载全部数据集的话是需要很大内存的。

如果我们直接用keras的fit函数来训练模型的话,是需要传入全部训练数据,但是好在提供了fit_generator,可以分批次的读取数据,节省了我们的内存,我们唯一要做的就是实现一个生成器(generator)。

阅读全文

本文共计1921个文字,预计阅读时间需要8分钟。

如何通过Keras的model.fit_generator高效训练模型并节省内存?

前段时期在训练模型的时候,发现当前训练集的数量过多,并且输入的图片维度过大,很容易超出内存限制。简单例子,如果我们有20000个样本,输入图片的维度是224x224x3,那么就很容易超内存了。

前言

前段时间在训练模型的时候,发现当训练集的数量过大,并且输入的图片维度过大时,很容易就超内存了,举个简单例子,如果我们有20000个样本,输入图片的维度是224x224x3,用float32存储,那么如果我们一次性将全部数据载入内存的话,总共就需要20000x224x224x3x32bit/8=11.2GB 这么大的内存,所以如果一次性要加载全部数据集的话是需要很大内存的。

如果我们直接用keras的fit函数来训练模型的话,是需要传入全部训练数据,但是好在提供了fit_generator,可以分批次的读取数据,节省了我们的内存,我们唯一要做的就是实现一个生成器(generator)。

阅读全文