我的样本个数有27450个,输入维度为16*16*3,输出为一个61维的向量。输入维度为16*16*3*27450,输出为61*27450.我的网络inputsize为16*16*3,输出为61.为什么会报错错误使用 trainNetwork 无效的训练数据。对于回归任务,响应必须为向量、矩阵或数值响应的四维数组。
时间: 2023-11-28 09:05:03 浏览: 63
一个支持向量机的的例子,包含详细注释和说明,python语言
根据你的描述,你的输入数据维度为16*16*3*27450,输出数据维度为61*27450,这意味着你有27450个样本,每个样本的输入维度为16*16*3,输出维度为61个类别的概率分布向量。
在使用`trainNetwork`函数进行训练时,你需要将输入和输出数据传入函数中。这里需要注意的是,输入数据和输出数据都应该是四维数组。因此,你需要将输入和输出数据进行reshape操作,将其转换成四维数组。具体地,你可以将输入数据reshape成[16,16,3,27450]的四维数组,将输出数据reshape成[61,1,1,27450]的四维数组。代码示例如下:
```
% 将输入数据reshape成[16,16,3,27450]的四维数组
inputData = reshape(inputData,[16,16,3,27450]);
% 将输出数据reshape成[61,1,1,27450]的四维数组
outputData = reshape(outputData,[61,1,1,27450]);
% 使用trainNetwork函数进行训练
net = trainNetwork(inputData,outputData,layers,options);
```
这样,你就可以成功地使用`trainNetwork`函数进行训练了。
阅读全文