How do I create a neural network that will give multiple input and outputs?
23 views (last 30 days)
Show older comments
Hi I am trying to design a ffnn neural network. I have input data of 900x4, and I want to design with output data of 900x2. Here's how I designed it: But you can't assign function output to this expression. Error occurs.
How do you solve this?
clear all; close all; clc;
a = xlsread('input2.xlsx');
[ I 4 ] = size(input)
[ O 2 ] = size(target)
input = [a(:,3) a(:,4) a(:,5) a(:,6)];
target = [a(:,1) a(:,2)];
net = feedforwardnet(10);
net = train(net, input', target');
y = net(input);
perf = perform(net,y,target)
0 Comments
Answers (2)
Bhargavi Maganuru
on 26 Nov 2019
Inputs for the train should be R-by-Q matrix where R is input size and Q is batch size. Input size is 900x4 (Q- 900 and R-4) and target size is 900x2(Q-900 and R-2) in your case. So there is no issue with the below line
net = train (net, input', target');
But the lines
y = net(input);
perf = perform(net,y,target)
will give you an error because sizes don’t match. You could try using transpose for both input and target.
y = net(input');
perf = perform(net,y,target');
Hope this helps!
0 Comments
Greg Heath
on 1 Jan 2020
ALWAYS arrange your data so that
[ I N ] = size(input)
[ O N ] = size(output)
Hope this helps.
Greg
1 Comment
Ray ptucha
on 24 Jan 2021
Greg, I noticed that you have answered this question online numerous times- thank you. However, your answer is terse. It would be great if you could post a simple example so that users can step through it. One good example is at:
https://www.mathworks.com/help/deeplearning/ug/train-network-with-multiple-outputs.html
but requires 2020b, which most readers probably don't have yet...
Thank you.
See Also
Categories
Find more on Modeling and Prediction with NARX and Time-Delay Networks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!