我正在用 theano 训练一个带有 100 万张图像的 CNN。现在我很困惑如何准备训练数据。
我的问题是:
当图片大小调整为 64*64*3 时,整个数据的大小约为 100G。我应该将数据保存到单个 npy 文件还是一些较小的文件中?哪一个是有效的?
如何决定CNN的参数个数?1M/10 = 100K 怎么样?
我应该限制训练块的内存成本和 CNN 参数小于 GPU 内存吗?
我的电脑是 16G 内存和 GPU Titian。
非常感谢。
我正在用 theano 训练一个带有 100 万张图像的 CNN。现在我很困惑如何准备训练数据。
我的问题是:
当图片大小调整为 64*64*3 时,整个数据的大小约为 100G。我应该将数据保存到单个 npy 文件还是一些较小的文件中?哪一个是有效的?
如何决定CNN的参数个数?1M/10 = 100K 怎么样?
我应该限制训练块的内存成本和 CNN 参数小于 GPU 内存吗?
我的电脑是 16G 内存和 GPU Titian。
非常感谢。
如果您使用的是 NN 框架,如 pylearn2、lasagne、Keras 等,请查看文档以查看是否有从 hdf5 存储或类似存储中迭代磁盘批次的指南。
如果什么都没有并且你不想自己动手,fuel 包提供了许多有用的数据迭代方案,可以适应 theano 中的模型(可能还有大多数框架;在燃料存储库中有一个很好的教程)。
至于参数,您必须交叉验证才能找出最适合您的数据的参数。
是的,批次的模型大小 + 小批量大小 + 丢弃掩码必须在可用的 vram 之下。