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

Find more on Deep Learning Toolbox in Help Center and File Exchange

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!