コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)