import caffe from caffe import surgery, score import numpy as np import os import setproctitle setproctitle.setproctitle(os.path.basename(os.getcwd())) weights = '../fcn16s-heavy-72k.caffemodel' # init caffe.set_device(int(sys.argv[1])) caffe.set_mode_gpu() solver = caffe.SGDSolver('solver.prototxt') solver.net.copy_from(weights) # surgeries interp_layers = [k for k in solver.net.params.keys() if 'up' in k] surgery.interp(solver.net, interp_layers) # scoring val = np.loadtxt('../data/segvalid11.txt', dtype=str) for _ in range(25): solver.step(4000) score.seg_tests(solver, False, val, layer='score')
import caffe from caffe import surgery, score import numpy as np import os import setproctitle setproctitle.setproctitle(os.path.basename(os.getcwd())) weights = '../fcn32s-heavy-88k.caffemodel' # init caffe.set_device(int(sys.argv[1])) caffe.set_mode_gpu() solver = caffe.SGDSolver('solver.prototxt') solver.net.copy_from(weights) # surgeries interp_layers = [k for k in solver.net.params.keys() if 'up' in k] surgery.interp(solver.net, interp_layers) # scoring val = np.loadtxt('../data/segvalid11.txt', dtype=str) for _ in range(25): solver.step(4000) score.seg_tests(solver, False, val, layer='score')
import numpy as np import os import cPickle as pickle save_format = os.getcwd() + '/out_{}' # base net base = 'base.prototxt' weights = 'vgg16fc.caffemodel' base_net = caffe.Net(base, weights, caffe.TEST) # init caffe.set_mode_gpu() caffe.set_device(0) solver = caffe.SGDSolver('solver.prototxt') # surgeries surgery.transplant(solver.net, base_net) interp_layers = [k for k in solver.net.params.keys() if 'up' in k] surgery.interp(solver.net, interp_layers) # load IDs of the TEST phase data val = np.loadtxt('list.txt', dtype=str) for _ in range(100): solver.step(1000) score.seg_tests(solver, save_format, val, layer='score', gt='label')
# resume = False if restore is not None: solver.restore(restore) # elif resume: # solver.net.copy_from(weights) else: solver.net.copy_from(weights) # initialize with weights # add bilinear upsampling weights interp_layers = [k for k in solver.net.params.keys() if 'up' in k] surgery.interp(solver.net, interp_layers) net = solver.net tnet = solver.test_nets[0] solver.test_nets[0].share_with(solver.net) LAYER_SCORE = 'score' LAYER_LOSS = 'loss' # warnings.filterwarnings("ignore") # scoring val = np.loadtxt(os.path.join(EXP_DIR, './segvalid11.txt'), dtype=str) for aa in range(50000): # if(np.mod(aa,100)==0): # print 'Running: %i'%aa if (np.mod(aa, 1000) == 0): print 'Evaluating: %i' % aa score.seg_tests(solver, save_format, val, layer=LAYER_SCORE) solver.step(1)
# resume = False if restore is not None: solver.restore(restore) # elif resume: # solver.net.copy_from(weights) else: solver.net.copy_from(weights) # initialize with weights # add bilinear upsampling weights interp_layers = [k for k in solver.net.params.keys() if 'up' in k] surgery.interp(solver.net, interp_layers) net = solver.net tnet = solver.test_nets[0] solver.test_nets[0].share_with(solver.net) LAYER_SCORE = 'score' LAYER_LOSS = 'loss' # warnings.filterwarnings("ignore") # scoring val = np.loadtxt(os.path.join(EXP_DIR,'./segvalid11.txt'), dtype=str) for aa in range(50000): # if(np.mod(aa,100)==0): # print 'Running: %i'%aa if(np.mod(aa,1000)==0): print 'Evaluating: %i'%aa score.seg_tests(solver, save_format, val, layer=LAYER_SCORE) solver.step(1)