美文网首页
TensorFlow--学习笔记

TensorFlow--学习笔记

作者: ylonge | 来源:发表于2017-10-29 15:01 被阅读0次

NOTE: 所有内容参考自www.tensorflow.org

基础

tensors

张量(tensors):tensorflow中的数据单元是tensors,tensor的rank指dimensions。

computational graph

CG表示tensorflow的一系列操作流程(flow of tensor),包含a graph of nodes。每个node的输入为0或多个tensors,输出为一个tensor。

import tensorflow as tf
node1 = tf.constant(3.0)
node2 = tf.constant(4.0)
print(node1, node2)

session

session用于执行CG,可以理解为CG的执行平台。session包含tensorflow在运行过程中的控制和状态信息。

sess = tf.session()
sess.run([node1, node2])

argument of run method

-feed_dict:作为run的一个参量,为placeholder赋值。

print(sess.run(adder_node, {a: 3, b: 4.5}))

TensorBoard

显示CG的示意图。

placeholders

A placeholder is a promise to provide a value later. 可以认为placeholder是一个预申请的空间。

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a + b

Variables

Variables用于记录动态的可训练参数。

w = tf.variable([.3], dtype=tf.float32)
b = tf.variable([-.3], dtype=tf.float32)
x = tf.placeholder(tf.float32)
linear_model = w * x + b

variables不会被自动初始化,需要手动初始化。其中init是个句柄handle,必须要执行session,值才会被初始化。

init = tf.global_variables_initializer()
sess.run(init)

variables的值可以被更新

fixW = tf.assign(W, [-1.])
fixb = tf.assign(b, [1.])
sess.run([fixW, fixb])
print(sess.run(loss, {x: [1,2,3,4], y: [0,-1,-2,-3]}))

optimizers

optimizers提供CG参数的调整方法,例如gradient descent。tensorflow提供tf.gradients自动生成梯度。

optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)
for i in range(1000):
  sess.run(train, {x: [1,2,3,4], y: [0,-1,-2,-3]})
print(sess.run([w, b]))

相关文章

网友评论

      本文标题:TensorFlow--学习笔记

      本文链接:https://www.haomeiwen.com/subject/zqeypxtx.html