def get_params(model_file, n_layers, n_f, nz=100, nc=3): print('LOADING...') t = time() disc_params = init_disc_params(n_f=n_f, n_layers=n_layers, nc=nc) gen_params = init_gen_params(nz=nz, n_f=n_f, n_layers=n_layers, nc=nc) predict_params = init_predict_params(nz=nz, n_f=n_f, n_layers=n_layers) # load the model model = utils.PickleLoad(model_file) print('load model from %s' % model_file) set_model(disc_params, model['disc_params']) set_model(gen_params, model['gen_params']) if 'predict_params' in model: set_model(predict_params, model['predict_params']) disc_batchnorm = model['disc_batchnorm'] gen_batchnorm = model['gen_batchnorm'] if 'predict_batchnorm' in model: predict_batchnorm = model['predict_batchnorm'] predict_batchnorm = [sharedX(d) for d in predict_batchnorm] else: predict_batchnorm = None disc_batchnorm = [sharedX(d) for d in disc_batchnorm] gen_batchnorm = [sharedX(d) for d in gen_batchnorm] print('%.2f seconds to load theano models' % (time() - t)) return disc_params, gen_params, predict_params, disc_batchnorm, gen_batchnorm, predict_batchnorm
def get_params(model_file, n_layers, n_f, nz=100, nc=3): print 'LOADING...' t = time() disc_params = init_disc_params(nz=nz, n_f=n_f, n_layers=n_layers, nc=nc) gen_params = init_gen_params(nz=nz, n_f=n_f, n_layers=n_layers, nc=nc) # load the model model = utils.PickleLoad(model_file) print 'load model from %s' % model_file set_model(disc_params, model['disc_params']) set_model(gen_params, model['gen_params']) [disc_pl, gen_pl] = model['postlearn_params'] disc_pl = [sharedX(d) for d in disc_pl] gen_pl = [sharedX(d) for d in gen_pl] print '%.2f seconds to load theano models' % (time() - t) return disc_params, gen_params, disc_pl, gen_pl
def get_params(model_file, n_layers, n_f, nz=100, nc=3): t = time() disc_params = init_disc_params(n_f=n_f, n_layers=n_layers, nc=nc) gen_params = init_gen_params(nz=nz, n_f=n_f, n_layers=n_layers, nc=nc) predict_params = init_predict_params(nz=nz, n_f=n_f, n_layers=n_layers) # load the model model = utils.PickleLoad(model_file) set_model(disc_params, model['disc_params']) set_model(gen_params, model['gen_params']) set_model(predict_params, model['predict_params']) disc_batchnorm = model['disc_batchnorm'] gen_batchnorm = model['gen_batchnorm'] predict_batchnorm = model['predict_batchnorm'] disc_batchnorm = [sharedX(d) for d in disc_batchnorm] gen_batchnorm = [sharedX(d) for d in gen_batchnorm] predict_batchnorm = [sharedX(d) for d in predict_batchnorm] return disc_params, gen_params, predict_params, disc_batchnorm, gen_batchnorm, predict_batchnorm
def load_model(net, layer='fc8'): model_values = utils.PickleLoad( os.path.join(model_dir, 'caffe_reference_%s.pkl' % layer)) lasagne.layers.set_all_param_values(net[layer], model_values)
def load_batchnorm(model_path): bn = utils.PickleLoad(model_path) bn_params = [sharedX(b) for b in bn] return bn_params
def load_model(params, model_path): param_values = utils.PickleLoad(model_path) set_model(params, param_values) return
parser.add_argument('--new_model', dest='new_model', help='the path to the new model', type=str, default=None) args = parser.parse_args() if not args.new_model: args.new_model = args.old_model.replace('.dcgan_theano', '_new.dcgan_theano') #new for arg in vars(args): print('[%s] =' % arg, getattr(args, arg)) # load models old_model = utils.PickleLoad(args.old_model) # names = ['disc_params', 'gen_params', 'disc_batchnorm', 'gen_batchnorm', 'predict_params', 'predict_batchnorm'] model = {} old_names = [ 'disc_params', 'gen_params', 'predict_params', 'postlearn_predict_params' ] new_names = [ 'disc_params', 'gen_params', 'predict_params', 'predict_batchnorm' ] for old_name, new_name in zip(old_names, new_names): model[new_name] = old_model[old_name] disc_batchnorm, gen_batchnorm = old_model['postlearn_params'] model['gen_batchnorm'] = gen_batchnorm model['disc_batchnorm'] = disc_batchnorm
expr_name = args.model_name + args.ext if not args.cache_dir: args.cache_dir = './cache/%s/' % expr_name model_dir = os.path.join(args.cache_dir, 'models') if not args.output_model: args.output_model = os.path.join(args.cache_dir, '%s.dcgan_theano' % expr_name) for arg in vars(args): print('[%s] =' % arg, getattr(args, arg)) # load models model = {} names = [ 'disc_params', 'gen_params', 'disc_batchnorm', 'gen_batchnorm', 'predict_params', 'predict_batchnorm' ] for name in names: model_file = os.path.join(model_dir, name) if os.path.isfile(model_file): print('find model file %s' % model_file) model[name] = utils.PickleLoad(model_file) else: print('missing model file %s' % model_file) utils.PickleSave(args.output_model, model)