TensorFlow学习(一)基本概念+变量

一:基本概念
TensorFlow是一个编程系统,利用图来表示计算任务,图中的节点称之为op(operation),一个op获得一个或者多个tensor(数据),执行运算产生一个或者多个tensor。tensor看做一个n维的数组或者列表。图必须在会话(session)中被启动。
二:一些基础操作
(一)定义一个op

import tensorflow as tf
m1=tf.constant([[3,3]])#创建一个常量12列的矩阵
m2=tf.constant([[2],[3]])#21列的矩阵
product=tf.matmul(m1,m2)#矩阵相乘的op
print(product)

这样输出的结果是

Tensor("MatMul:0", shape=(1, 1), dtype=int32)

(二)定义一个会话,启动默认图

#定义一个会话,启动默认图
sess=tf.Session()
#调用sess的run方法来执行矩阵乘法op
result=sess.run(product)
print(result)
sess.close()#记得关掉会话
with tf.Session() as sess1:
    result = sess1.run(product)
    print(result)

更为常用的方法,可以自动关闭会话

[[15]]

(三)变量的定义和使用

x=tf.Variable([1,2])
a=tf.constant([3,3])
sub=tf.subtract(x,a);
add=tf.add(x,sub)

#变量的初始化十分重要,当程序中有多个变量时,可以只调用这一个函数就初始化所有的变量
init=tf.global_variables_initializer()

with tf.Session() as sess2:
    sess2.run(init)
    print(sess2.run(sub))
    print(sess2.run(add))
[-2 -1]
[-1  1]

(四)实现变量的自增

state=tf.Variable(0,name='counter')#创建一个变量,初始化为0
new_value=tf.add(state,1)#定义一个op
update=tf.assign(state,new_value)

init=tf.global_variables_initializer()

with tf.Session() as sess3:
    sess3.run(init)
    print(sess3.run(state))
    for _ in range(5):
        sess3.run(new_value)#这句写不写对结果没有影响
        sess3.run(update)
        print(sess3.run(state))
0
1
2
3
4
5

(五)fetch和feed
fetch就是一个会话运行多个op

input1=tf.constant(3.0)
input2=tf.constant(2.0)
input3=tf.constant(5.0)

add=tf.add(input2,input3)
mul=tf.multiply(input1,add)
with tf.Session() as sess4:
    result=sess4.run([mul,add])
    print(result)
#创建占位符
input1=tf.placeholder(tf.float32)
input2=tf.placeholder(tf.float32)
output=tf.multiply(input1,input2)
with tf.Session() as sess5:
    #feed的数据以字典的形式传入
    print(sess5.run(output,feed_dict={input1:[8.],input2:[2.]}))

你可能感兴趣的:(TensorFlo)