您的位置:首页 > 编程语言 > Python开发

从零开始用Python学习MachineLearning(6)-TensorFlow中的变量

2019-01-09 22:13 387 查看

 Variable(变量)

是tensorflow的变量节点,通过Variable(注:V大写)方法创建,并且需要传递初始值。在使用前需要通过tensorflow的初始化方法进行初始化。

W = tf.Variable(initial_value=tf.zeros([9, 5]),  # 初始值,必填,张量或可以转换为张量的Python对象。初始值必须有指定一个形状,                                                    除非`validate_shape`设置为False。
                trainable=True,  # 如果`True`,则默认值也将变量添加到图形中集合`GraphKeys.TRAINABLE_VARIABLES`。这个集合用                                    作“Optimizer”类使用的默认变量列表
                collections=None,  # 图表集合键的列表。新的变量被添加到这些集合。默认为`[GraphKeys.GLOBAL_VARIABLES]`。
                validate_shape=True,  # 如果`False`,允许变量用初始化未知形状的值。如果“True”,默认的形状`initial_value`必                                         须是已知的。
                caching_device=None,  # 可选设备字符串,描述变量的位置应该被缓存以供阅读。默认为变量的设备。如果不是“None”,则缓                                         存在另一个设备上。典型的用途是缓存在使用变量的Ops所在的设备上进行重复数据删除复制                                               `Switch`和其他条件语句。
                name='W',  # 变量的可选名称。默认为“Variable”并获取自动去重(Variable_1,Variable_2....)。
                variable_def=None, # `VariableDef`协议缓冲区。如果不是“无”,则重新创建变量对象及其内容,引用变量的节点在图中,                                       必须已经存在。图形没有改变。`variable_def`和其他参数是互斥的。
                dtype=tf.float32, # 如果设置,initial_value将被转换为给定的类型。如果'None',数据类型将被保存(如果                                             initial_value是一个张量),或者“convert_to_tensor”来决定。
                expected_shape=None,  # 张量的Shape。如果设置,initial_value需要符合这个形状。
                import_scope=None)  # 可选的字符串。名称范围添加到`Variable.`仅在从协议缓冲区初始化时使用。

参数说明Variable函数的全部参数如上方代码展示,不过目前我在学习中遇到常用的的参数只有如下几个,其他的参数暂时没在代码中遇到

initial_value,dtype,name,创建代码类似下面这样
    W = tf.Variable(tf.zeros([3, 10]), dtype=tf.float64, name='W')

下面就是个小例子

[code]import tensorflow as tf
a = tf.Variable([2,3])
b = tf.constant(1)
mut = tf.multiply(a,b)
#使用变量前应初始化变量
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
print(sess.run(mut))

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: