I am encountering a persistent error with the predict function in the Deep Learning Toolbox within MATLAB 2024b.

The problem occurs even in a simplified test script designed to isolate the issue:
Matlab
% Basic Script to Test dlarray and predict
function network = initializeSimpleActorNetwork(inputSize, outputSize)
layers = [
featureInputLayer(inputSize, 'Name', 'state_input')
fullyConnectedLayer(outputSize, 'Name', 'output')
];
network = dlnetwork(layerGraph(layers));
end
inputSize = 1827;
outputSize = 10;
testDlarray = dlarray(randn(1, inputSize), 'CB');
testNetwork = initializeSimpleActorNetwork(inputSize, outputSize);
try
testPredict = predict(testNetwork, testDlarray);
disp('Prediction successful!');
disp(['Output size: ', num2str(size(testPredict))]);
catch ME
disp('Prediction failed!');
disp(['Error message: ', ME.message]);
end
Despite the dlarray being created with the correct size (1x1827) and the featureInputLayer being configured to accept an input of size 1827, the predict function consistently throws an error stating that it received an input of size 1.
Troubleshooting Steps Taken:
  • Reinstalled MATLAB 2024b.
  • Verified that the issue persists in the isolated test script.
  • Confirmed that the dlarray is correctly created and that the input layer is correctly configured.

1 Comment

Error message: Layer "state_input": Invalid input data. Invalid size of channel dimension. Layer expects input with channel dimension size 1827 but received input with size 1.

Sign in to comment.

 Accepted Answer

You need,
testDlarray = dlarray(randn(inputSize,1), 'CB');
or,
testDlarray = dlarray(randn(1, inputSize), 'BC');

1 Comment

this worked for the section of code . Although other errors are still there.
Thanks for your quick and brilliant response.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2024b

Asked:

on 17 Mar 2025

Commented:

on 17 Mar 2025

Community Treasure Hunt

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

Start Hunting!