运行matconvnet勒
function [net, info] = cnn_plate()
%初始化神经网络
run('C:\Users\TAT\Desktop\matconvnet-1.0-beta22\matlab\vl_setupnn.m') ;
%datadir='E:\MachineLearning\caffe\caffe-windows-master\platerecognition\data\platerecognition\chars2';
%导入原始数据地址
datadir='C:\Users\TAT\Desktop\matconvnet-1.0-beta22\mycode\plate\ann';
%导入数据的mat格式
opts.expDir = fullfile(vl_rootnn, 'data', 'mycodplate') ;
opts.imdbPath = fullfile(opts.expDir, 'imdb.mat');
%判断mat数据是否存在,不存在则重建
if exist(opts.imdbPath,'file')
imdb=load(opts.imdbPath);%加载mat数据
else
imdb=cnn_plate_setup_data(datadir);%重建mat数据
mkdir(opts.expDir) ;%创建文件夹
save(opts.imdbPath, '-struct', 'imdb') ;%保存文件
end
%设置网络结构
net=cnn_plate_init();
%载入原始数据
net.meta.normalization.averageImage =imdb.images.data_mean ;
%是否使用gpu加速
opts.train.gpus=1;
%训练网络
[net, info] = cnn_train(net, ...%网络
imdb, ...%输入数据
getBatch(opts), ...%批处理
...%---参数---
'expDir', ...
opts.expDir, ...
net.meta.trainOpts, ...
opts.train, ...
'val',...
find(imdb.images.set == 3)...
...%---------
);
function fn = getBatch(opts)
% --------------------------------------------------------------------
fn = @(x,y) getSimpleNNBatch(x,y) ;
end
function [images, labels] = getSimpleNNBatch(imdb, batch)
images = imdb.images.data(:,:,:,batch) ;
labels = imdb.images.labels(1,batch) ;
if opts.train.gpus > 0
images = gpuArray(images) ;
end
end
end