25 векторов, 3-х мерная выходная нейронная сеть - PullRequest
0 голосов
/ 13 февраля 2012

Как мне избавиться от ошибки. Я не могу тренировать свою нейронную сеть для трехмерного вывода. Ошибка говорит

??? Ошибка при использовании ==> network.sim на 178 Входы имеют неправильный размер для сети. Матрица должна состоять из 1 строки.

Ошибка в ==> testtt в 10

 Y = sim(net,P);
 addpath('data')
 load('ComPoles_Cir_Cy_Rect')
 load('target_row')
 P = Poles_Circle_10cm;
 T = Poles_Rectangular_40cm;
 m = min(min(P));
 mx = max(max(P));

 net = newff([m mx],[10 10 1],{'tansig' 'tansig' 'purelin'});
 Y = sim(net,P);
 plot(P,T,P,Y,'o')

 net.trainParam.epochs = 150;
 net = train(net,P,T);
 Y = sim(net,P);
 plot(P,T,P,Y,'o')    `

Ответы [ 2 ]

1 голос
/ 13 февраля 2012

Сообщение об ошибке достаточно ясно: Она ожидала матрицу с одной строкой (матрица 1xM) и получила что-то еще.

Теперь, надеюсь, это означает, что вы толькоНужно транспонировать некоторую матрицу в вашем коде, и она должна работать.В противном случае вы, вероятно, неправильно используете эту функцию, и вам нужно еще немного подумать о том, что вы пытаетесь сделать.

0 голосов
/ 15 февраля 2012

Очевидно, без какой-либо информации о размерах P и m я могу догадаться, в чем проблема в этом случае. MATLAB NN Toolbox требует векторы ввода и вывода с данными, упорядоченными по столбцам, это означает, что если у вас есть нейронная сеть с X входами, вы должны использовать матрицу с X строками и N столбцами с N числом входных выборок. То же самое для выходных данных. Это самая распространенная ошибка NN Toolbox во время обучения.

...