classificationLayer cannot output one-hot encoded matrix?

openExample('nnet/ConstructAndTrainAConvolutionalNeuralNetworkExample')
In this demo, the output of the net was a categorical vector.
But in most of the cnn tutorials, the output should be one-hot encoded. Why does matlab use a categorical vector instead?
How to feed a one-hot encoded matrix to the net? The function trainNetwork() does not accept this kind of Y data.
Is the classificationLayer itself implemented one-hot encoding?

2 Comments

Hi Xiaolong, Thanks for your question. Is there a particular reason (apart from seeing in other cnn tutorials) why you think one-hot encoded outputs are better over categorical vectors? Do you have a particular use case? I'm just trying to understand your feedback/question.
Hi can someone tell me how to do one hot encoding in MATLAB to feed to a network?

Sign in to comment.

Answers (1)

Hey Xiaolong,
Why do you want to feed one hot encoded Y to the net?
The function trainNetwork() does not accept one hot encoded matrix and it's expected behaviour as per documentation.

Categories

Products

Release

R2018a

Asked:

on 10 Jul 2019

Commented:

on 30 Jul 2019

Community Treasure Hunt

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

Start Hunting!