Regarding Multi-label transfer learning with googlenet
6 次查看(过去 30 天)
显示 更早的评论
I have a dataset with pictures with presence of objects of different classes. I want to perform a multilabel classification, which means I need to classify the pictures into different classes with the picture belonging to more than one class at the same time. That is, for pictures with objects of type A and type B, the net should output both the labels A and B.
If I am designing a CNN for this from scratch, I will have a sigmoid activation at the last layer. The number of output neurons will be equal to the number of classes with the output of each neuron giving 1 if the picture belongs to the particular class or 0 if not. However, there seems to be no provision for adding a sigmoid function and the Image datastore cannot hold binary vectors as the label. How do I overcome this?
1 个评论
SC P
2019-10-12
@Balakrishnan Rajan ,how you have resolved this problem? ( how you did this?:defining classes which are unique combination of the previous class occurences). Is there any code of it
采纳的回答
Shounak Mitra
2018-8-24
We do not support sigmoid activation. You can use the softmax activation function. You don't need to define the neurons in the softmaxLayer. Define the no of neurons (= no of classes) you want in the fullyConnectedLayer. So, your network structure would be like:
inputLayer -- -- fullyConnectedLayer softmaxLayer ClassificationLayer
HTH Shounak
3 个评论
o.cefet cefet
2020-5-29
Hello all?
As the images do not have a single class, how can I build the ImageDataStore, because the images cannot be separated by folders, that is, I cannot endow "Labels" with "Folders".
The images are in the same folder and a CSV file destines them. Like this:
Image, Class A, Class B, Class C, Class D
00000001_000.png, 1,1,0,0
00000001_001.png, 1,1,0,1
00000001_002.png, 0,0,0,1
00000002_000.png, 0,0,0,0
00000003_000.png, 0,0,1, -1
00000003_001.png, 0, -1,0,1
00000003_002.png, 1,0,0,0
00000003_003.png, 0,0,0,1
00000003_004.png, 0,1,0,0
00000003_005.png, 0,0,1,0
00000003_006.png, 0,1,1,0
00000003_007.png, 1,0,0,1
00000004_000.png, 0,0,1,0
00000005_000.png, 0,1,0,0
00000005_001.png, -1, -1,1,0
00000005_002.png, 0.1, -1.0
00000005_003.png, 0,0,0,1
00000005_004.png, 0,0,1,0
00000005_005.png, 0,1,0,0
00000005_006.png, 0,0, -1,1
00000005_007.png, 0,1,0, -1
00000006_000.png, 0,0,0,1
00000007_000.png, 0,1,0,0
00000008_000.png, 0,0,1,0
00000008_001.png, 0,0,0,1
......
......
......
......
更多回答(3 个)
Antonio Quvera
2019-5-21
编辑:Antonio Quvera
2019-5-21
I'm also interested in this application (i.e. multi-label classification using CNN/LSTM). Any news? Does the latest deep learning toolbox resolve this issue?
0 个评论
cui,xingxing
2019-5-14
Can I define multiple softmaxLayer at the end of the network? Each softmaxLayer is independent of each other, and each layer is used to classify a label so that there can be multiple loss functions, shared by the previous convolutional layer? But how do you enter the network goals?
Greg Heath
2018-12-22
Decades old solution:
Divide each output by the sum to obtain the relative probability of each class
Hope this helps.
Thank you for formally accepting my answer
Greg
4 个评论
Greg Heath
2019-1-29
To Kira:
My point was:
If you do not use softmax, the sum is not constrained to be 1 !
Greg
o.cefet cefet
2020-5-29
Hello all?
As the images do not have a single class, how can I build the ImageDataStore, because the images cannot be separated by folders, that is, I cannot endow "Labels" with "Folders".
The images are in the same folder and a CSV file destines them. Like this:
Image, Class A, Class B, Class C, Class D
00000001_000.png, 1,1,0,0
00000001_001.png, 1,1,0,1
00000001_002.png, 0,0,0,1
00000002_000.png, 0,0,0,0
00000003_000.png, 0,0,1, -1
00000003_001.png, 0, -1,0,1
00000003_002.png, 1,0,0,0
00000003_003.png, 0,0,0,1
00000003_004.png, 0,1,0,0
00000003_005.png, 0,0,1,0
00000003_006.png, 0,1,1,0
00000003_007.png, 1,0,0,1
00000004_000.png, 0,0,1,0
00000005_000.png, 0,1,0,0
00000005_001.png, -1, -1,1,0
00000005_002.png, 0.1, -1.0
00000005_003.png, 0,0,0,1
00000005_004.png, 0,0,1,0
00000005_005.png, 0,1,0,0
00000005_006.png, 0,0, -1,1
00000005_007.png, 0,1,0, -1
00000006_000.png, 0,0,0,1
00000007_000.png, 0,1,0,0
00000008_000.png, 0,0,1,0
00000008_001.png, 0,0,0,1
......
......
......
......
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!