Function to trainNetwork returns an unexpected error
조회 수: 3 (최근 30일)
이전 댓글 표시
My code returns the following error for this function call - What is the fix for this?
net = trainNetwork(X_train, categorical(y_train), layers, options);
Error using trainNetwork (line 191)
Too many input arguments.
Error in LSTMGomz (line 63)
net = trainNetwork(X_train, categorical(y_train), layers, options);
Caused by:
Error using nnet.internal.cnn.trainNetwork.DLTInputParser>iParseInputArguments (line 75)
Too many input arguments.
댓글 수: 2
Matt J
2024년 6월 7일
You would have to attach a .mat file providing inputs X_train, categorical(y_train), layers, options for us to run with.
채택된 답변
Matt J
2024년 6월 8일
편집: Matt J
2024년 6월 8일
Your X_train and y_train data were in some weird format that trainNetwork cannot recognize. Try this instead,
Xdata = num2cell(readmatrix('LSTMdataIn.xlsx')',1)';
N=200;
train_ratio=0.8;
split_index=round(train_ratio*N);
inputSize = height(Xdata{1}); % Number of features in the input data
numClasses = height(Xdata)/N; % Number of categories
Xdata=reshape(Xdata,N,numClasses);
ydata=repmat(1:numClasses,N,1);
X_train=Xdata(1:split_index,:);
y_train=ydata(1:split_index,:);
X_test=Xdata(split_index+1:end,:);
y_test=ydata(1:split_index+1:end,:);
layers = [
sequenceInputLayer(inputSize)
lstmLayer(100, 'OutputMode', 'last')
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer
];
options = trainingOptions('adam', 'MaxEpochs', 100);
net = trainNetwork(X_train(:), categorical(y_train(:)), layers, options);
댓글 수: 3
Matt J
2024년 6월 9일
It's just a cell array of numeric data. You had tables nested inside cells, I think.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Data Workflows에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!