文章目录
一、会话
sess=tf.session
sess.run(init)
run非常重要
二、变量
基础的使用
代码如下(示例):
Weight=tf.Variable()
bias=tf.Variable()
y=Weight*x_data+bias
loss=tf.reduce_mean(tf.square(y-y_data))
初始化
代码如下(示例):
optimizer=tf.GradientDescentOptimizer(0.5)
train=optimizer.minimize(loss)
init=initial_all_variables() ##所有的变量初始化最重要的一步,然后用sess.run跑一下
变量的用法
tf.Variable(
initial_value=None,
name=None,
variable_def=None,
dtype=None,
shape=None,
)
可能用的上的参数
name:[可选] 变量的名称。默认为Variable。
dtype:如果设置,initial_value将被转换为给定的类型。如果为None,数据类型将被保留(如initial_value是张量),或者convert_to_tensor会决定。
shape:[可选] 此变量的形状。如果没有,形状initial_value将被使用。将此参数设置为tf.TensorShape(None)时代表未指定的形状,变量可以被赋予不同形状的值。
实例中tf.assign
update=tf.assign(a,b)
是一个赋予值的用法,而且在tf中是面向对象的,通过run调用对象实现框架的函数作用,如同上述的初始化
sess.run(update)
三、with tf.Session()
和for循环一样
强调省略的是sess.close()函数
with tf.Session() as sess:
sess.run(init)
by the way
for有一个别样的写法之前没留意
for _ in range(3)
四、 传入值
placehoder和feed_dict是绑定使用的
同等于正常的待输入格式化了的参数
input1=tf.placeholder(tf.float32)
input2=tf.placeholder(tf.float32)
output=tf.mul(input1,input2)
##默认情况下 tensorflow用的都是float32格式
with tf.Session() as sess:
sess.run(out,feed_dict{input1:[7.],input2:[2.]}))
##在搭配使用过程中,伴随传入的必须是字典型
五、延申)run函数的详细
sess.run(fetches, feed_dict=None, options=None, run_metadata=None)
etches参数可以是单个图元素,也可以是任意嵌套的列表、元组、namedtuple、
dict或OrderedDict,其中在其叶子处包含图元素
fetches的参数