Tensorflow 学习笔记(一)逻辑回归、 tensor、tf.Variable、tf.placeholder、sess 占位符、张量

Tensorflow 学习笔记(一)逻辑回归、 tensor、tf.Variable、tf.placeholder、sess 占位符、张量


占位符、张量)

Tensorflow 将程序分成两个独立的部分——计算图的定义、计算图的执行(提高并行能力)。

第一部分:定义

为了构建计算图,需要定义所有要执行的常量、变量和运算操作。
计算图是包含节点和边的网络,张量tensor对象是tensorflow中使用的数据,包括常量 tf.constant、变量tf.Variable和占位符tf.placeholder。

tensor:可理解为一个n维矩阵,所有类型的数据,包括标量(0阶张量)、矢量(一阶张量、矩阵(二阶张量)等都是特殊类型的张量)

变量tf.Variable:

tf.Variable(initializer,name)
//tf.Variable
w = tf.Variable(tf.zeros([self.seq_length,self.config.num_classes]))
b = tf.Variable(tf.zeros([self.config.num_classes]))

变量通常在神经网络中表示权重w和偏置b;

// Save
saver = tf.train.Save()

使用Saver类来保存变量,定义一个Saver操作对象

// global variables initializer
sess.run(tf.global_variables_initializer)

初始化全局变量

占位符tf.placeholder

tf.placeholder(dtype,shape=None,name=None)

dype为占位符的数据类型,并且必须在声明占位符时指定。shape为数据形状,None默认为一维。

// tf.placeholder
self.x = tf.placeholder(tf.float32,[None,self.seq_length]

占位符,为seq_length列,行不定

第二部分:执行(会话)

为了使定义的图生效,首先需要使用tf.Session() 定义一个会话对象sess。然后使用Session类中定义的run:

run(fetches,feed_dict=nONE,options=None,run_metadata)
// Session
session = tf.Session()
session.run(tf.global_variables_initializer())
saver = tf.train.Saver()
saver.restore(sess = session, save_path = config.lr_save_path)
y_pred_cls = session.run(model.y_pred_cls,feed_dict={model.x:data})
return categories[y_pred_cls[0]]

运行结果的值会在fetches中提取,run方法在每次计算图的时候,都会对fetches中相关的张量和操作进行赋值。
请记住,每个会话都需要使用 close() 来明确关闭,而 with 格式可以在运行结束时隐式关闭会话。

Reference:http://c.biancheng.net/view/1886.html

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值