camenduru's picture
thanks to openpose ❤
f5bb0c0
function net = get_net(varargin)
% net = get_net(model_file, phase_name) or
% net = get_net(model_file, weights_file, phase_name)
% Construct a net from model_file, and load weights from weights_file
% phase_name can only be 'train' or 'test'
CHECK(nargin == 2 || nargin == 3, ['usage: ' ...
'net = get_net(model_file, phase_name) or ' ...
'net = get_net(model_file, weights_file, phase_name)']);
if nargin == 3
model_file = varargin{1};
weights_file = varargin{2};
phase_name = varargin{3};
elseif nargin == 2
model_file = varargin{1};
phase_name = varargin{2};
end
CHECK(ischar(model_file), 'model_file must be a string');
CHECK(ischar(phase_name), 'phase_name must be a string');
CHECK_FILE_EXIST(model_file);
CHECK(strcmp(phase_name, 'train') || strcmp(phase_name, 'test'), ...
sprintf('phase_name can only be %strain%s or %stest%s', ...
char(39), char(39), char(39), char(39)));
% construct caffe net from model_file
hNet = caffe_('get_net', model_file, phase_name);
net = caffe.Net(hNet);
% load weights from weights_file
if nargin == 3
CHECK(ischar(weights_file), 'weights_file must be a string');
CHECK_FILE_EXIST(weights_file);
net.copy_from(weights_file);
end
end