def c3(pt=cfgs.vgg.model,model=cfgs.vgg.weights): dcfgs.splitconvrelu=True cfgs.accname='accuracy@5' def solve(pt, model): net = Net(pt, model=model) net.load_frozen() WPQ, new_pt = net.R3() return {"WPQ": WPQ, "new_pt": new_pt} def stepend(new_pt, model, WPQ): net = Net(new_pt, model=model) net.WPQ = WPQ net.finalmodel(save=False) net.dis_memory() #final = net.finalmodel(WPQ, prefix='3r') new_pt, new_model = net.save(prefix='3c') print('caffe test -model',new_pt, '-weights',new_model) return {"final": None} worker = Worker() outputs = worker.do(step0, pt=pt, model=model) printstage("freeze") pt = outputs['pt'] outputs = worker.do(step1,**outputs) printstage("speed", dcfgs.dic.keep) outputs['pt'] = mem_pt(pt) if 0: outputs = solve(**outputs) else: outputs = worker.do(solve, **outputs) printstage("saving") outputs = worker.do(stepend, model=model, **outputs)
def c3(pt=cfgs.vgg.model,model=cfgs.vgg.weights): # TODO: Consider changing cfgs.vgg.model and cfgs.vgg.weights (paths to the .prototxt and .caffemodel files) for a generic model reference -by Mario dcfgs.splitconvrelu=True cfgs.accname='accuracy@5' # name of layer in the prototxt -by Mario def solve(pt, model): net = Net(pt, model=model) net.load_frozen() # this method can load images from memory if we pass a feats_dic. For what? -by Mario WPQ, new_pt = net.R3() return {"WPQ": WPQ, "new_pt": new_pt} def stepend(new_pt, model, WPQ): net = Net(new_pt, model=model) net.WPQ = WPQ net.finalmodel(save=False) # load weights into the caffemodel -by Mario net.dis_memory() #final = net.finalmodel(WPQ, prefix='3r') new_pt, new_model = net.save(prefix='3c') print('caffe test -model',new_pt, '-weights',new_model) return {"final": None} worker = Worker() outputs = worker.do(step0, pt=pt, model=model) printstage("freeze") pt = outputs['pt'] outputs = worker.do(step1,**outputs) printstage("speed", dcfgs.dic.keep) outputs['pt'] = mem_pt(pt) if 0: outputs = solve(**outputs) else: outputs = worker.do(solve, **outputs) printstage("saving") outputs = worker.do(stepend, model=model, **outputs)
def addbn(pt='../resnet-cifar10-caffe/resnet-56/prb_mem_bn_trainval.prototxt', model="../resnet-cifar10-caffe/resnet-56/snapshot/prb_VH_bn__iter_64000.caffemodel"): worker=Worker() def ad(pt, model): net = Net(pt, model=model, noTF=1) #net.computation() pt, WPQ = net.add_bn() return {'new_pt': pt, 'model':model, 'WPQ':WPQ} outs = worker.do(ad, pt=pt, model=model) worker.do(stepend, **outs)