Error using trainNetwork (line 191) Invalid network.

조회 수: 5 (최근 30일)
Fatih
Fatih 2025년 2월 2일
댓글: Fatih 2025년 2월 5일
I receive the following error for my function given below. .Would you please help me to correct the function?
for the following input
YPred = trainAndPredictHADEL(XTrain, YTrain, XTest);
++
% Function to train and predict using HADEL model
function YPred = trainAndPredictHADEL(XTrain, YTrain, XTest)
% Define HADEL model architecture
numFeatures = size(XTrain, 2);
numClasses = numel(categories(YTrain));
% Feature-Level Attention
featureAttention = [
fullyConnectedLayer(64, 'Name', 'fc_feature_attention')
reluLayer('Name', 'relu_feature_attention')
fullyConnectedLayer(1, 'Name', 'fc_feature_weights')
softmaxLayer('Name', 'feature_attention_weights')
];
% Temporal Attention (not used for Iris dataset, but included for completeness)
temporalAttention = [
sequenceInputLayer(numFeatures, 'Name', 'input_sequence')
lstmLayer(64, 'OutputMode', 'sequence', 'Name', 'lstm_temporal_attention')
fullyConnectedLayer(1, 'Name', 'fc_temporal_weights')
softmaxLayer('Name', 'temporal_attention_weights')
];
% Combine into Hierarchical Attention
%%Bu kısmı hata verdi aşağıdaki gibi koydum
% hierarchicalAttention = [
% featureAttention
% temporalAttention
% dotProductLayer(1, 'Name', 'weighted_output')
% ];
hierarchicalAttention = [
featureAttention
temporalAttention
];
% Add classification layers
layers = [
hierarchicalAttention
fullyConnectedLayer(64, 'Name', 'fc_final')
reluLayer('Name', 'relu_final')
fullyConnectedLayer(numClasses, 'Name', 'fc_output')
softmaxLayer('Name', 'softmax_output')
classificationLayer('Name', 'output')
];
% Train the network
options = trainingOptions('adam', ...
'MaxEpochs', 50, ...
'MiniBatchSize', 8, ...
'Verbose', false);
net = trainNetwork(XTrain, YTrain, layers, options);
% Predict on test data
YPred = classify(net, XTest);
end
++
Error
++
Error using trainNetwork (line 191)
Invalid network.
Error in trainAndPredictHADEL (line 54)
net = trainNetwork(XTrain, YTrain, layers, options);
Caused by:
Layer 'fc_feature_attention': Unconnected input. Each layer input must be connected to the output of another layer.
Layer 'input_sequence': An input layer must be first in the layer array.
++

채택된 답변

Cris LaPierre
Cris LaPierre 2025년 2월 2일
You are missing an input layer for your model. See the final error message: " Layer 'input_sequence': An input layer must be first in the layer array."
Your first layer is fullyConnectedLayer(64, 'Name', 'fc_feature_attention')
Perhaps the inputLayer page is helfpul.
  댓글 수: 3
Cris LaPierre
Cris LaPierre 2025년 2월 3일
I think the issue here is that you have defined the concatenation layer to have 2 inputs, but have only provided one. See the concatenationLayer doc page.
Perhaps this layer is not doing what you think. Try removing it.
Fatih
Fatih 2025년 2월 5일
Thanks a lot. Once I analyzed it now works.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Image Data Workflows에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by