tensorflow变量相关问题记录 (模型中的变量如何在 train/ valid/ test 过程中共享?)

  • tensorflow 中的命名空间
    • tf.name_scope(): 为了更好地管理变量的命名空间而提出的。比如在 tensorboard 中,因为引入了 name_scope, Graph 看起来才井然有序
    • tf.variable_scope(): 通过 tf.get_variable()为变量名指定命名空间.

  • tensorflow 创建变量的三种方式
    • tf.placeholder() :占位符
    • tf.Variable() :一般变量用这种方式定义。
    • tf.get_variable() :一般都是和 tf.variable_scope() 配合使用,从而实现变量共享的功能。
  • tf.get_variable()和tf.Variable()的区别如下:
    • tf.Variable()在定义的时候必须初始化,而tf.get_variable()定义的时候可以先不进行初始化操作。
    • 想要进行变量共享,必须使用tf.get_variable()实现,搭配命名空间,以及reuse关键字的使用,就可以实现变量的共享;而tf.Variable()每次都会生成一个新的变量。

  • tensorflow中的变量初始化
    • 在会话中使用sess.run()进行初始化
      • sess.run(tf.global_variables_initializer()) # 初始化全局变量
      • sess.run(tf.local_variables_initializer()) # 初始化本地变量
    • 在定义的时候进行初始化:
      • tf.get_variable(name=‘fm1’, shape = [dim, 1], initializer= tf.random_uniform_initializer(minval = 0, maxval = 0.1))
    • 初始化部分指定变量 sess.run(tf.variables_initializer(var_list))
      • var_list是需要初始化的变量列表

  • tensorflow获取变量:
    • 获取所有全局变量:tf.global_variables()
    • 获取所有训练变量:tf.trainable_variables()
    • 通过参数名称获取对应的值:tf.get_default_graph().get_tensor_by_name(“conv1/b:0”)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值