我正在尝试创建一个神经网络项目来确定彩色图像的质量,并返回它是否通过了质量检查。该质量检查将在2000个样本大小中确定和训练,其中包含50%的好照片和50%的坏照片。
假设我执行检查的图片是1280x1280像素,RGB没有Alpha通道。我正在尝试创建以下神经网络
输入图层==> 1280 * 1280 * 3 = 4915200神经元
2 x隐藏层==>层1 = 1638400,层2 = 409600神经元
输出图层==> 1神经元
我遇到的问题是,在简单的XOR训练中,我们可以轻松地使用2个输入,1个隐藏层,包括2个神经元和1个输出神经元。然而,当它成为现实世界的应用程序时,内存成为一个巨大的问题。所需的内存量超过我的128GB内存机器。
我不知道我应该如何处理这个项目,以便它能够提高内存效率? (至少在128GB以内)
期待公开讨论我应该采取什么方法来使其发挥作用!
由于
答案 0 :(得分:0)
你应该使用卷积神经网络。我建议只从图像识别项目中复制神经网络,然后在数据集上重新训练它。有效的卷积NN实现不应该使用那么多内存,尽管可能需要很长时间才能进行训练。
您还可以使用较低分辨率的图像,这通常是在机器视觉中完成的。将所有图像缩小到256x256像素。