File Exchange

image thumbnail

Neural Network Toolbox Model for ResNet-50 Network

Pretrained Resnet-50 network model for image classification

78 Downloads

Updated 14 Mar 2018

ResNet-50 is a pretrained model that has been trained on a subset of the ImageNet database and that won the ImageNet Large-Scale Visual Recognition Challenge (ILSVRC) competition in 2015. The model is trained on more than a million images, has 177 layers in total, corresponding to a 50 layer residual network, and can classify images into 1000 object categories (e.g. keyboard, mouse, pencil, and many animals).
Opening the resnet50.mlpkginstall file from your operating system or from within MATLAB will initiate the installation process for the release you have.
This mlpkginstall file is functional for R2017b and beyond.
Usage Example:
% Access the trained model
net = resnet50();
% See details of the architecture
net.Layers
% Read the image to classify
I = imread('peppers.png');
% Adjust size of the image
sz = net.Layers(1).InputSize
I = I(1:sz(1),1:sz(2),1:sz(3));
% Classify the image using Resnet-50
label = classify(net, I)
% Show the image and the classification results
figure
imshow(I)
text(10,20,char(label),'Color','white')

Comments and Ratings (13)

can to please tell me that how i can obtain its layer by layer code?

software

zhangshaungqing Thanks

I used the following code to successfully train the resnet network without the problems mentioned above.
numClasses = numel(categories(imdsTrain.Labels));
lgraph = removeLayers(lgraph, {'fc1000','fc1000_softmax','ClassificationLayer_fc1000'});
newLayers = [
fullyConnectedLayer(numClasses,'Name','fc','WeightLearnRateFactor',10,'BiasLearnRateFactor',10)
softmaxLayer('Name','softmax')
classificationLayer('Name','classoutput')];
lgraph = addLayers(lgraph,newLayers);
lgraph = connectLayers(lgraph,'avg_pool','fc');

gong bangming

Huawei Tian

"I have the problem with the output of layer 12 is incompatible with the input expected by layer 13."

yes. I also have this problem

layersTransfer = net.Layers(1:end-3);
numClasses = numel(categories(trainingImages.Labels))
layers = [
layersTransfer
fullyConnectedLayer(numClasses,'WeightLearnRateFactor',20,'BiasLearnRateFactor',20)
softmaxLayer
classificationLayer];
netTransfer = trainNetwork(trainingImages,layers,options);

von carlos

dont work, ResNet-50 and i had the same problem of layer 12 is incompatible with layer 13

caesar

caesar (view profile)

I had used ResNet-50 and i had the same problem of layer 12 is incompatible with layer 13 when trying o resume training from a saved checked point

Hanbin Zhang

"I have the problem with the output of layer 12 is incompatible with the input expected by layer 13."

yes. I also have this problem

Redha Almahdi

Hello,
I am trying to test the resnet 50 on Dataset consist of 1560 images. I have problem with the output of layer 12 is incompatible with the input expected by layer 13.

Any advice on how could I solve this problem is greatly appreciated

Dayou Jiang

NICE JOB!

cui

cui (view profile)

good!

adel adel

MATLAB Release Compatibility
Created with R2017b
Compatible with R2017b to R2018a
Platform Compatibility
Windows macOS Linux

MATLAB Online Live Editor Challenge

View the winning live scripts from faculty and students who participated in the recent challenge.

Learn more

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video