我正在探索MATLAB的Neural Network Toolbox(NNtool),我遇到了目标矩阵尺寸不兼容的问题。确切的错误消息是:
com.mathworks.jmi.MatlabException:等号右侧的输出数量不足以满足分配。
让我详细解释一下。我有一个图像,里面有一些椭圆形图像,我想用神经网络估计光学参数,为此,我有所有目标值的训练数据。所以,我给图像作为输入(我先读取图像,将其转换为mat2gray()格式,然后将其导入NNtool),然后设置目标矩阵(我的目标矩阵包含两个值,因为我的神经网络将输出两个值,我尝试以两种方式格式化输出,[0.5 0.9]和[0.5; 0.9],但我仍然得到相同的错误。
我还试过保持输入和目标矩阵的列数相同。我将输入矩阵设为[2304,1](我有一个48 * 48的图像,等于2304),我的目标矩阵是[2,1]维度,但同样的错误也会发生。在搜索时,我读到这是某种不足的内存错误。我不确定这是否正确。是这样的吗?
对于这个神经网络,我必须训练40,000张图像。每张图片尺寸为48 * 48。如何将这些图像输入NNtool?
答案 0 :(得分:0)
来自http://www.mathworks.ch/support/solutions/en/data/1-BBJCDC/index.html
此增强功能已纳入Release 2010b(R2010b)。对于以前的产品版本,请阅读以下任何可能的解决方法:
错误讯息: ==>中的错误nntool在681 [errmsg,errid] = me.message; 是由于在TRY CATCH块中调用TRAIN之前发生的内存不足错误。神经网络工具箱6.0.3(R2009b)中的NNTOOL无法显示标准的内存不足错误消息。
作为一种解决方法,减少了大量的输入,因为它们在计算训练步骤时会产生巨大的内部临时矩阵。