示例#1
0
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
示例#2
0
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
示例#3
0
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
示例#4
0
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
示例#8
0
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)