def simple_euler_dof2_dcv2_smallnetv5(isRun=False, gradClip=10, stepsize=20000, base_lr=0.001, gamma=0.5, deviceId=0): posePrms = slu.PosePrms(maxRot=90, simpleRot=True, dof=2) dPrms = sev2.get_data_prms(lbPrms=posePrms) nwFn = sev2.process_net_prms nwArgs = {'ncpu': 0, 'baseNetDefProto': 'smallnet-v5_window_siamese_fc5'} solFn = mec.get_default_solver_prms solArgs = { 'dbFile': DEF_DB % 'sol', 'clip_gradients': gradClip, 'stepsize': stepsize, 'base_lr': base_lr, 'gamma': gamma } cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=sev2.make_net_def, isLog=True) if isRun: exp.make(deviceId=deviceId) exp.run() return exp
def test_solver_load_pretrain(): #Get net prms nPrms = mec.get_default_net_prms(dbFile, **kwargs) del nPrms['expStr'] nPrms.baseNetDefProto = 'doublefc-v1_window_fc6' nPrms = mpu.get_defaults(kwargs, nPrms, False) nPrms['expStr'] = mec.get_sql_id(dbFile, dArgs, ignoreKeys=['ncpu']) dPrms = get_data_prms() nwFn = process_net_prms ncpu = 0 nwArgs = {'ncpu': ncpu, 'lrAbove': None, 'preTrainNet': None} solFn = mec.get_default_solver_prms solArgs = {'dbFile': DEF_DB % 'sol', 'clip_gradients': 10} cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=make_net_def, isLog=True) if isRun: exp.make() exp.run() return exp
def setup_experiment(): prms = get_mnist_prms() nwPrms = {'netName': 'MyNet', 'baseNetDefProto': 'trainval.prototxt'} cPrms = mec.get_caffe_prms(mec.get_default_net_prms, nwPrms, mec.get_default_solver_prms, baseDefDir='./test_data/mnist') exp = mec.CaffeSolverExperiment(prms, cPrms) exp.make() return exp
def scratch_cls_pd36(isRun=False, nAzBins=18, nElBins=18, isLog=True, gradClip=30, stepsize=10000, gamma=0.5, base_lr=0.001, deviceId=0, isDropOut=False, numDrop=1, crpSz=240): dPrms = pep.get_data_prms(anglePreProc='classify', nAzBins=nAzBins, nElBins=nElBins) nwFn = pep.process_net_prms ncpu = 0 if isDropOut: if numDrop == 1: baseProto = 'doublefc-v1_window_fc6_dropout' else: baseProto = 'doublefc-v1_window_fc6_double_dropout' else: baseProto = 'doublefc-v1_window_fc6' nwArgs = { 'ncpu': ncpu, 'lrAbove': None, 'preTrainNet': None, 'dataNetDefProto': 'data_layer_pascal_cls', 'baseNetDefProtp': baseProto, 'lossNetDefProto': 'pascal_pose_loss_classify_layers', 'crpSz': crpSz } solFn = mec.get_default_solver_prms solArgs = { 'dbFile': DEF_DB % 'sol', 'clip_gradients': gradClip, ' stepsize': stepsize, 'base_lr': base_lr, 'gamma': gamma } cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=pep.make_net_def, isLog=isLog) if isRun: exp.make(deviceId=deviceId) exp.run() return exp
def alexnet_cls_pd36(isRun=False, nAzBins=18, nElBins=18, isLog=True, gradClip=30, stepsize=10000, gamma=0.5, base_lr=0.001, deviceId=0, crpSz=240, lrAbove=None, meanFile='', resumeIter=None): dPrms = pep.get_data_prms(anglePreProc='classify', nAzBins=nAzBins, nElBins=nElBins) nwFn = pep.process_net_prms ncpu = 0 preTrainNet = osp.join(cfg.pths.data0,\ 'caffe_models/bvlc_reference/bvlc_reference_caffenet_upgraded.caffemodel') nwArgs = { 'ncpu': ncpu, 'lrAbove': lrAbove, 'preTrainNet': preTrainNet, 'dataNetDefProto': 'data_layer_pascal_cls', 'lossNetDefProto': 'pascal_pose_loss_classify_layers', 'baseNetDefProto': 'alexnet', 'ipImSz': 227, 'crpSz': crpSz, 'opLrMult': 10, 'meanFile': meanFile } solFn = mec.get_default_solver_prms solArgs = { 'dbFile': DEF_DB % 'sol', 'clip_gradients': gradClip, ' stepsize': stepsize, 'base_lr': base_lr, 'gamma': gamma } cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs, resumeIter=resumeIter) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=pep.make_net_def, isLog=isLog) if isRun: exp.make(deviceId=deviceId) exp.run() return exp
def setup_experiment_finetune(): prms = get_mnist_prms() preTrainNet = './test_data/mnist/mnist-test_iter_4000.caffemodel' #preTrainNet = None baseDefDir = './test_data/mnist' nwPrms = { 'netName': 'MyNet', 'baseNetDefProto': osp.join(baseDefDir, 'trainval.prototxt'), 'preTrainNet': preTrainNet } cPrms = mec.get_caffe_prms(mec.get_default_net_prms, nwPrms, mec.get_default_solver_prms) exp = mec.CaffeSolverExperiment(prms, cPrms) exp.make() return exp
def torchnet_cls_pd36(isRun=False, nAzBins=18, nElBins=18, isLog=True, gradClip=30, stepsize=10000, gamma=0.5, base_lr=0.001, deviceId=0): dPrms = pep.get_data_prms(anglePreProc='classify', nAzBins=nAzBins, nElBins=nElBins) nwFn = pep.process_net_prms ncpu = 0 preTrainNet = osp.join(cfg.pths.data0,\ 'caffe_models/streetview/pose-l1-torch7.caffemodel') nwArgs = { 'ncpu': ncpu, 'lrAbove': None, 'preTrainNet': preTrainNet, 'dataNetDefProto': 'data_layer_pascal_cls', 'lossNetDefProto': 'pascal_pose_loss_classify_layers', 'baseNetDefProto': 'pose-l1-torch7', 'ipImSz': 101, 'opLrMult': 10 } solFn = mec.get_default_solver_prms solArgs = { 'dbFile': DEF_DB % 'sol', 'clip_gradients': gradClip, ' stepsize': stepsize, 'base_lr': base_lr, 'gamma': gamma } cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=pep.make_net_def, isLog=isLog) if isRun: exp.make(deviceId=deviceId) exp.run() return exp
def setup_experiment_demo(debugMode=False, isRun=False): dPrms = get_data_prms() nwFn = process_net_prms ncpu = 0 nwArgs = {'lrAbove': None, 'preTrainNet': None} solFn = mec.get_default_solver_prms solArgs = {'dbFile': DEF_DB % 'sol', 'clip_gradients': 10} cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=make_net_def, isLog=True) if isRun: exp.make() exp.run() return exp
def simple_quat_dof5_dcv2_doublefcv1_l2loss(isRun=False, gradClip=10, stepsize=20000, base_lr=0.001, gamma=0.5, deviceId=0, readSingleGrp=False, ncpu=0, resumeIter=None): posePrms = slu.PosePrms(maxRot=90, simpleRot=False, dof=5, nrmlz=True, angleType='quat') dPrms = sev2.get_data_prms(lbPrms=posePrms) nwFn = sev2.process_net_prms nwArgs = { 'ncpu': ncpu, 'baseNetDefProto': 'doublefc-v1_window_siamese_fc6', 'lossNetDefProto': 'pose_loss_layers', 'readSingleGrp': readSingleGrp } solFn = mec.get_default_solver_prms solArgs = { 'dbFile': DEF_DB % 'sol', 'clip_gradients': gradClip, 'stepsize': stepsize, 'base_lr': base_lr, 'gamma': gamma } cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs, resumeIter=resumeIter) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=sev2.make_net_def, isLog=True) if isRun: exp.make(deviceId=deviceId) exp.run() return exp
def setup_experiment_demo(debugMode=False, isRun=False): posePrms = slu.PosePrms() dPrms = get_data_prms(lbPrms=posePrms) nwFn = process_net_prms if debugMode: ncpu = 0 else: ncpu = 2 nwArgs = {'ncpu': ncpu} solFn = mec.get_default_solver_prms solArgs = {'dbFile': DEF_DB % 'sol', 'clip_gradients': 10} cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=make_net_def, isLog=True) if isRun: exp.make() exp.run() return exp
def simple_euler_dof2_dcv2_doublefcv1_diff_no_common_fc( isRun=False, gradClip=30, stepsize=60000, base_lr=0.001, gamma=0.1, deviceId=0, resumeIter=None): posePrms = slu.PosePrms(maxRot=90, simpleRot=True, dof=2) dPrms = sev2.get_data_prms(lbPrms=posePrms) nwFn = sev2.process_net_prms nwArgs = { 'ncpu': 0, 'baseNetDefProto': 'doublefc-v1_window_siamese_fc6_diff_no-common-fc' } solFn = mec.get_default_solver_prms solArgs = { 'dbFile': DEF_DB % 'sol', 'clip_gradients': gradClip, 'stepsize': stepsize, 'base_lr': base_lr, 'gamma': gamma } cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs, resumeIter=resumeIter) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=sev2.make_net_def, isLog=True) if isRun: exp.make(deviceId=deviceId) exp.run() return exp
def doublefcv1_dcv2_dof2net_cls_pd36(isRun=False, nAzBins=18, nElBins=18, isLog=True, gradClip=30, stepsize=10000, gamma=0.5, base_lr=0.001, deviceId=0, crpSz=240, lrAbove=None, isDropOut=False, numDrop=1): ''' isDropout: if dropouts should be used numDrop : number of dropout layers ''' #Source net srcExp = mepg.simple_euler_dof2_dcv2_doublefcv1(gradClip=30, stepsize=60000, base_lr=0.001, gamma=0.1) srcIter = 182000 preTrainNet = srcExp.get_snapshot_name(srcIter) #PASCAL Settings dPrms = pep.get_data_prms(anglePreProc='classify', nAzBins=nAzBins, nElBins=nElBins) nwFn = pep.process_net_prms ncpu = 0 if isDropOut: if numDrop == 1: baseProto = 'doublefc-v1_window_fc6_dropout' else: baseProto = 'doublefc-v1_window_fc6_double_dropout' else: baseProto = 'doublefc-v1_window_fc6' nwArgs = { 'ncpu': ncpu, 'lrAbove': lrAbove, 'preTrainNet': preTrainNet, 'dataNetDefProto': 'data_layer_pascal_cls', 'lossNetDefProto': 'pascal_pose_loss_classify_layers', 'baseNetDefProto': baseProto, 'ipImSz': 101, 'crpSz': crpSz, 'opLrMult': 10 } solFn = mec.get_default_solver_prms solArgs = { 'dbFile': DEF_DB % 'sol', 'clip_gradients': gradClip, ' stepsize': stepsize, 'base_lr': base_lr, 'gamma': gamma } cPrms = mec.get_caffe_prms(nwFn=nwFn, nwPrms=nwArgs, solFn=solFn, solPrms=solArgs) exp = mec.CaffeSolverExperiment(dPrms, cPrms, netDefFn=pep.make_net_def, isLog=isLog) if isRun: exp.make(deviceId=deviceId) exp.run() return exp