tf.global_variables_initializer()与tf.local_variables_initializer()的区别

一、tf.global_variables_initializer()

tf.global_variables_initializer()添加节点用于初始化所有的变量(GraphKeys.VARIABLES)。返回一个初始化所有全局变量的操作(Op)。在你构建完整个模型并在会话中加载模型后,运行这个节点。

能够将所有的变量一步到位的初始化,非常的方便。通过feed_dict, 你也可以将指定的列表传递给它,只初始化列表中的变量。

示例代码如下:

sess.run(tf.global_variables_initializer(),
feed_dict={
        learning_rate_dis: learning_rate_val_dis,
        adam_beta1_d_tf: adam_beta1_d,
        learning_rate_proj: learning_rate_val_proj,
        lambda_ratio_tf: lambda_ratio,
        lambda_l2_tf: lambda_l2,
        lambda_latent_tf: lambda_latent,
        lambda_img_tf: lambda_img,
        lambda_de_tf: lambda_de,
        adam_beta1_g_tf: adam_beta1_g,
        })
# learning_rate_dis为设置的变量,learning_rate_val_dis为我设置的具体的值。后续同理

二、tf.local_variables_initializer()

tf.local_variables_initializer()返回一个初始化所有局部变量的操作(Op)。初始化局部变量(GraphKeys.LOCAL_VARIABLE)。GraphKeys.LOCAL_VARIABLE中的变量指的是被添加入图中,但是未被储存的变量。关于储存,请了解tf.train.Saver相关内容,在此处不详述,敬请原谅。

示例代码与上面的类似:

sess.run(tf.local_variables_initializer(),
feed_dict={
     learning_rate_dis: learning_rate_val_dis,
     adam_beta1_d_tf: adam_beta1_d,
     learning_rate_proj: learning_rate_val_proj,
     lambda_ratio_tf: lambda_ratio,
     lambda_l2_tf: lambda_l2,
     lambda_latent_tf: lambda_latent,
     lambda_img_tf: lambda_img,
     lambda_de_tf: lambda_de,
     adam_beta1_g_tf: adam_beta1_g,
     })
# learning_rate_dis为设置的变量,learning_rate_val_dis为我设置的具体的值。后续同理

转载地址:https://blog.csdn.net/yyhhlancelot/article/details/81415137

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券