Logan Lebanoff Mentor: Haroon Idrees Jun 1 - 5
Research paper ImageNet Classification with Deep Convolutional Neural Networks Motivations/results of certain approaches Terms ReLU vs sigmoid, GPUs, overlapping pooling, input image size, data augmentation, dropout MatConvNet Manual Necessary to understand how to make changes in the code
ImageNet Downloaded training/validation/test image dataset Understanding the code Modifying
ImageNet Load a pretrained network Retrain the pretrained network to just change the last layer’s weights
pretrained = load('E:\Logan\matconvnet-1. 0-beta12\matconvnet-1 pretrained = load('E:\Logan\matconvnet-1.0-beta12\matconvnet-1.0-beta12\examples\data\imagenet12-dropout\pretrained.mat'); pretrained.layers{end} = struct('type', 'softmaxloss', 'name', 'loss') ; [net,info] = cnn_train(pretrained, imdb, fn, opts.train, 'conserveMemory', true) ; % changed net to pretrained
ImageNet Change last layer to output a different size vector instead of the default 1000 Find where back propagation happens in the code Change back propagation depth from +inf to 1 Still quite slow Found where the number of epochs was set, and changed it from 20 to 1, for testing
% Block 7 %net = add_block(net, opts, 7, 1, 1, 4096, 4096, 1, 0) ; Changed removed net.layers{end+1} = struct('type', 'dropout', 'name', 'dropout7', 'rate', 0.5) ; % Block 8 net = add_block(net, opts, 8, 1, 1, 4096, 5, 1, 0) ; % I changed this to 5 from 1000 net.layers(end) = [] ;
ImageNet Error while running test image on my retrained network Assertion failed in nnsoftmaxloss if nargin <= 2 t = Xmax + log(sum(ex,3)) - reshape(X(c_), [sz(1:2) 1 sz(4)]) ; Y = sum(t(:)) / n ;
MNIST Error while running on test image on MNIST Image depth does not match Changed to grayscale Also had to resize the image to 224x224x3 for ImageNet
Next week Retrain network with crowd training images Using pretrained network Still only training last layer Classification problem Find the count by classifying into groups 100-110, 111-120, 121-130, etc.