TensorFlow笔记(二)--Tensor的基本使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zby1001/article/details/53260411

TensorFlow的基本套路:

1.使用图表示计算任务

2.在回话(Session)中执行图。

3.用tensor表示数据

4.通过变量(Variable)维护状态

5.使用feed和fetch可以为任意操作赋值或者从中获取数据。


构建图:

图中的节点被称之为op(operation的缩写)。一个op获得0或多个tensor,执行计算产生0个或多个Tensor

import tensorflow as tf

#创建一个op常量,产生一个1*2矩阵,这个op被成为一个节点,加到默认图中。

matrix1=tf.constant([[3.0,3.0]])

#创建一个2*1矩阵

matrix2=tf.constant([[2.0],[2.0]])

#product代表矩阵相乘的结果

product=tf.matmul(matrix1,matrix2)

先在默认图中有三个节点。


在会话中启动图

#启动默认图

sess=tf.Session()

result=sess.run(product)

print result

#结果为12

#关闭会话

sess.close()

也可以使用with代码块来自动完成关闭动作

with tf.Session() as sess:

    result=sess.run([product])

    print result


Tensor

TensorFlow使用tensor数据结构代表所有数据。操作间传递数据都是tensor。一个tensor包含一个静态类型rank和一个shape。


变量

变量维护一个图执行过程中的状态信息,代码示例:

state=tf.Variable(0,name="counter")

one=tf.constant(1)

new_value=tf.add(state,one)

update=tf.assign(state,new_value)


#启动图,先初始化所有op到图中

init_op=tf.initialize_all_variables()

with tf.Session() as sess:

    sess.run(init_op)

    print sess.run(state)

    for i in range(3)

        sess.run(update)

        print sess.run(state)

#输出

#0

#1

#2

#3

#4



猜你喜欢

转载自blog.csdn.net/zby1001/article/details/53260411