【发布时间】:2011-11-23 16:43:42
【问题描述】:
我正在探索 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 中?
【问题讨论】:
-
请在此处发布确切的代码和您的 matlab 版本,否则无法验证您在做什么。谢谢!
-
这是在 Win7 上运行的 matlab R2009a 64 位版本。就代码而言,根本没有代码,它是nntool,这里几乎没有涉及任何代码,除了输入到nntool的输入矩阵和目标矩阵。
-
输入 = 48*48 矩阵目标 = [0.5; 0.8](也试过不用分号,没用)然后我在nntool中导入这两个,剩下的都是用GUI完成的
-
你没有说你用 nntool 创建了什么样的网络。因此不可能复制您的问题。
-
对不起,信息不完整,给你。网络类型 = 前馈反馈道具;训练函数 = TrainLIM;层数 = 2;转移函数 = TANSIG;
标签: image-processing neural-network matlab nntool