tensoflow笔记

tensorflow的运行流程:构造模型和训练

构造模型阶段:构建一个图表示模型(此过程的模型都是抽象的),即流程图,数据的输入->中间处理->输出的过程

此过程不会发生实际运算。

此阶段涉及到的概念Tensor,Variable,placeholder


训练阶段:实际的数据输入,梯度计算等操作

此阶段涉及到的概念Session


基本概念

1.Tensor就是张量,可以理解为矩阵。


>>>import tensorflow as tf

>>>a=tf.zeros(shape=[1,5])

>>>print a

Tensor("zeros:0",shape=(1, 5), dtype=float32)

在训练开始之前,所有的数据都是抽象的概念。即a只是表示这是一个1*50矩阵,而没有实际赋值,也没有分配空间,因此打印出来的如上红色。只有在训练过程开始后,才能获得a的实际值。

>>>sess=tf.InteractiveSession()

>>>sess.run(a)

array([[0., 0., 0., 0., 0.]], dtype=float32)


2.Variable定义变量,其实就是可以修改的张量,可以用于计算输入值,也可以在计算中被修改。一般表示图中的各个计算参数,包括矩阵/向量等。在tensorflow中,得定义变量才是变量,还可以给变量赋值。

例如:y=relu(wx+b),这里wb都是用来训练的参数,那么这2个可以用Variable表示。

>>>w=tf.Variable(tf.zeros(shape=[1,2]), name=’weight’)

>>>print w

<tensorflow.python.ops.variables.Variableobject at 0x7f583e009b50>

此时w也是抽象的,不过与Tensor不同,Variable必须初始化以后才有具体的值,因此箬出现变量则一定要做初始化。

init= tf.initialize_all_variables()

>>>sess.run(w) 报错

>>>sess.run(tf.initialize_all_variables())

>>>sess.run(w)

array([[0., 0.]], dtype=float32)


3.placeholder叫占位符,也是抽象的概念。主要是给节点输入数据时使用placeholder,tensorflow中用placeholder来描述等待输入的节点,只需要指定类型即可,然后在执行节点的时候用一个字典来“喂“这些节点。在实际运行时,从外部传入数据,注意placeholderfeed_dict是绑定使用。

用于表示输入输出数据的格式。告诉系统这里是一个值/向量/矩阵,但是现在无法提供具体的值,正式运行的时候会补上。

>>> x=tf.placeholder(tf.float32,[1,5],name='input')表明输入是[1,5]的横向量

>>>y=tf.placeholder(tf.float32,[None,5],name='input')表明输入是[,5]的矩阵,不确定?的值

>>>print x

Tensor("input:0",shape=(1, 5), dtype=float32)

>>>print y

Tensor("input_1:0",shape=(?, 5), dtype=float32)

with tf.Session() as sess:
  print(sess.run(ouput, feed_dict={x: [7.], y: [2.]}))


4.Session即会话。session是抽象模型的实现者。因为模型是抽象的,只有实现了模型以后,才能够得到具体的值。具体的参数训练,预测,甚至变量的实际值查询,都要用到session

参数值以及损失函数等所有要查询的值都得以Session.run(name)的形式查询。


激活模型之前,得初始化所有变量:init= tf.initialize_all_variables()

定义模型之后,要激活模型结构:sess=tf.Session()

上述2个步骤都没有执行,知道sess.run()之后才会开始执行变量初始化运算:sess.run(init)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值