如何在Tensorflow中保存和加载经过训练的生成器模型?

问题描述

我现在正在使用tensorflow1.15.0训练GANs模型。我的模型有两个生成器和两个鉴别器。我想在训练后保存发电机的重量和模型骨架,该怎么做?我的模型是这样编译的:

optimizer = tf.train.AdamOptimizer(self.learning_rate,beta1=0.5)
self.model_vars = tf.trainable_variables()
d_A_vars = [var for var in self.model_vars if 'd_A' in var.name]
d_B_vars = [var for var in self.model_vars if 'd_B' in var.name]
g_A_vars = [var for var in self.model_vars if 'g_A' in var.name]       
g_B_vars = [var for var in self.model_vars if 'g_B' in var.name]

self.d_A_trainer = optimizer.minimize(d_loss_A,var_list=d_A_vars)
self.d_B_trainer = optimizer.minimize(d_loss_B,var_list=d_B_vars)
self.g_A_trainer = optimizer.minimize(g_loss_A,var_list=g_A_vars)
self.g_B_trainer = optimizer.minimize(g_loss_B,var_list=g_B_vars)

g_A_trainer的训练过程如下:

# Optimizing the G_A network
_,fake_B_temp,fake_B_label_temp,g_A_loss,summary_str = sess.run(
[self.g_A_trainer,self.fake_images_b,self.fake_labels_b,self.g_A_loss,self.g_A_loss_summ],feed_dict={
self.input_a:inputs['images_i'],self.input_b:inputs['images_j'],self.label_a:inputs['labels_i'],self.label_b:inputs['labels_j'],self.learning_rate: curr_lr
}
)
writer.add_summary(summary_str,epoch * max_images // 64 + i)

fake_B_temp1 = self.fake_image_pool(self.num_fake_inputs,self.fake_images_B)
fake_B_label_temp1 = self.fake_label_pool(self.num_fake_inputs,self.fake_labels_B)

现在,如果我想保存和加载经过训练的g_A模型,该怎么做?有人可以帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...