You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB中3输入单输出自定义神经网络predict函数使用问题

解决MATLAB多输入神经网络predict调用错误的问题

错误原因

你直接传递多个独立参数给predict的方式不符合MATLAB的要求——多输入神经网络的输入需要打包成单元格数组(cell array),而非分开传入多个参数。predict(net,50,3,10)这种写法会被识别为传递了4个参数(网络+3个数值),超出函数预期的输入格式,因此报错。

正确调用方式

根据你的3输入单输出网络,按以下方式处理:

1. 单样本预测

如果是对单个样本(50、3、10这三个值)进行预测,先把每个输入值包装成数组,再放入单元格数组中:

% 打包输入为单元格数组,每个元素对应网络的一个输入层
inputs = {[50], [3], [10]};
% 调用predict
Y = predict(net, inputs);

2. 批量样本预测

如果要处理多组样本,比如输入1是包含N个样本的数组、输入2和输入3同理,只需将对应维度匹配的数组按顺序放入单元格数组:

% 示例:3组样本,每个输入为列向量
input1 = [50; 60; 70];
input2 = [3; 4; 5];
input3 = [10; 11; 12];

inputs = {input1, input2, input3};
Y = predict(net, inputs);

关键注意事项

  • 确保每个输入数组的维度和网络对应输入层的输入维度完全匹配:比如网络某输入层设置为接受1维数据,对应的输入数组就要是行向量或列向量(和你训练网络时用的输入格式一致)。
  • 如果是用layerGraph搭建的自定义网络,单元格数组中输入的顺序要和网络输入层的添加顺序一致。

内容的提问来源于stack exchange,提问作者Rahul Dhir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:52:06