classificationLayer cannot output one-hot encoded matrix?

5 views (last 30 days)
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
Maria Duarte Rosa
Maria Duarte Rosa on 11 Jul 2019
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.
Sanjana Sankar
Sanjana Sankar on 30 Jul 2019
Hi can someone tell me how to do one hot encoding in MATLAB to feed to a network?

Sign in to comment.

Answers (1)

Himanshu tripathi
Himanshu tripathi on 10 Jul 2019
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 Image Data Workflows in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!