tenforflow中的变量

tenforflow中的变量

import tensorflow as tf

import numpy as np

#定义常量

a1 = tf.constant(np.ones([4, 4])*2)

a2 = tf.constant(np.ones([4, 4]))

#定义变量

# 是可以进行求导的

b1 = tf.Variable(a1)

b2 = tf.Variable(np.ones([4, 4]))

#定义乘法

a1_elementwise_a2 = a1*a2

#定义矩阵乘法tf.matmul(a1, a2):矩阵a1点乘矩阵a2

a1_dot_a2 = tf.matmul(a1, a2)

 

b1_elementwise_b2 = b1 * b2

b1_dot_b2 = tf.matmul(b1, b2)

#variable需要初始化,此时的初始化不是赋值而是分配内存

init = tf.global_variables_initializer()

sess = tf.Session()

sess.run(init)

 

print(sess.run(a1_elementwise_a2))

print(sess.run(a1_dot_a2))

print(sess.run(b1_elementwise_b2))

print(sess.run(b1_dot_b2))

 

#打印结果:

#[[2. 2. 2. 2.]

# [2. 2. 2. 2.]

# [2. 2. 2. 2.]

# [2. 2. 2. 2.]]

#[[8. 8. 8. 8.]

# [8. 8. 8. 8.]

# [8. 8. 8. 8.]

# [8. 8. 8. 8.]]

#[[2. 2. 2. 2.]

# [2. 2. 2. 2.]

# [2. 2. 2. 2.]

# [2. 2. 2. 2.]]

#[[8. 8. 8. 8.]

# [8. 8. 8. 8.]

# [8. 8. 8. 8.]

# [8. 8. 8. 8.]]

 

#####################################################

''' 参考资料:

Vatiable是tensorflow的变量节点,通过Variable(注:V大写)方法创建,

并且需要传递初始值。在使用前需要通过tensorflow的初始化方法进行初始化。

 

创建方式

 

# 初始值,必填,张量或可以转换为张量的Python对象。

# 初始值必须有指定一个形状,除非`validate_shape`设置为False。

W = tf.Variable(initial_value=tf.zeros([9, 5]),

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') '''

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值