【发布时间】:2019-11-08 03:16:49
【问题描述】:
我有一个可以实例化对象的类 et = EyeTracker() 其中 EyeTracker() 是一个具有 init 构造函数的类,可以在 here 中找到。实际上我想创建多个模型并将一个模型的某些部分分配给新创建的模型并丢弃旧模型。我在下面收到错误。任何帮助将不胜感激。我真的被困住了。我也出于类似目的问了一个问题here。因此,欢迎这两个答案。
def train(args):
train_data, val_data = load_data(args.input)
train_data = prepare_data(train_data)
val_data = prepare_data(val_data)
with tf.variable_scope("", reuse=True) as scope:
et = EyeTracker()
train_loss_history, train_err_history, val_loss_history, val_err_history = et.train(train_data, val_data, \
lr=args.learning_rate, \
batch_size=args.batch_size, \
max_epoch=args.max_epoch, \
min_delta=1e-4, \
patience=args.patience, \
print_per_epoch=args.print_per_epoch,
out_model=args.save_model)
save some parts of the (et)
scope.reuse_variables()
et = EyeTracker()
Assign some parts of previous (et) to the new one and continue training
train_loss_history, train_err_history, val_loss_history, val_err_history = et.train(train_data, val_data, \
lr=args.learning_rate, \
batch_size=args.batch_size, \
max_epoch=args.max_epoch, \
min_delta=1e-4, \
patience=args.patience, \
print_per_epoch=args.print_per_epoch,
out_model=args.save_model)
错误是
变量 conv1_eye_w 不存在,或者不是用 tf.get_variable() 创建的。您的意思是在 VarScope 中设置 reuse=tf.AUTO_REUSE 吗? 如果我的问题很烦人,我真的很抱歉。
【问题讨论】:
标签: python tensorflow conv-neural-network