|
function net = get_net(varargin) |
|
|
|
|
|
|
|
|
|
|
|
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))); |
|
|
|
|
|
hNet = caffe_('get_net', model_file, phase_name); |
|
net = caffe.Net(hNet); |
|
|
|
|
|
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 |
|
|