0

我正在探索 MATLAB 的神经网络工具箱(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?

4

1 回答 1

0

来自http://www.mathworks.ch/support/solutions/en/data/1-BBJCDC/index.html

此增强功能已包含在版本 2010b (R2010b) 中。对于以前的产品版本,请阅读以下任何可能的解决方法:

错误消息: ==> nntool 在 681 [errmsg,errid] = me.message 中出错;是由于之前在 TRY CATCH 块中调用 TRAIN 期间发生的内存不足错误。在神经网络工具箱 6.0.3 (R2009b) 的 NNTOOL 中,显示标准内存不足错误消息的功能不可用。

作为一种解决方法,减少大量输入,因为它们在计算训练步骤时会生成巨大的内部临时矩阵。

于 2011-09-23T18:22:52.750 回答