The output type of the trainNetwork() must be categorical(). How can I create a CNN with float/real output(s)? I mean the following command gives the following error: >> convnet = trainNetwork(input_datas, [0.0, 0.1, 0.2, 0.3], networkLayers, opts); Error using trainNetwork>iAssertCategoricalResponseVector (line 269) Y must be a vector of categorical responses. (The error message corresponds the [0.0, 0.1, 0.2, 0.3] vector), But I need real outputs, not categories. The networkLayers is the following: >> networkLayers= 5x1 Layer array with layers: 1 '' Image Input 1x6000x1 images with 'zerocenter' normalization 2 '' Convolution 10 1x100 convolutions with stride [1 1] and padding [0 0] 3 '' Max Pooling 1x20 max pooling with stride [10 10] and padding [0 0] 4 '' Fully Connected 200 fully connected layer 5 '' Fully Connected 1 fully connected layer
Neeta Dsouza answered .
2025-11-20
target = 1 0 0 0 0
0 0 0 0 1
0 1 0 0 0
0 0 0 1 0
0 0 1 0 0
>> output = target + 0.1*randn(5,5)
output = 0.8902 -0.1361 -0.0874 0.0327 -0.0846
-0.1416 0.0780 0.0415 -0.0515 0.9827
0.0060 1.0439 0.0348 -0.0896 -0.1209
-0.0411 -0.0090 0.0349 0.8797 -0.0297
-0.0368 0.1021 0.9271 0.1038 -0.3232
>> answer = vec2ind(output)
answer = 1 3 5 4 2
Hope this helps.