标签:必须 入门 官方 oss ini on() top mode mini
TensorFlow官方文档入门笔记[一]
张量
3 # a rank 0 tensor; this is a scalar with shape [] |
计算图
TF由两个部分组成:构建计算图与运行计算图。
node1 = tf.constant(3.0, dtype=tf.float32) 输出: Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32) |
必须创建一个Session
对象,然后调用其run
方法运行计算图。会话封装了TensorFlow运行时的控制和状态。
sess = tf.Session() 输出: [3.0, 4.0] |
node3 = tf.add(node1, node2) 输出: node3: Tensor("Add:0", shape=(), dtype=float32) |
a = tf.placeholder(tf.float32) print(sess.run(adder_node, {a: 3, b: 4.5})) 输出 7.5 |
add_and_triple = adder_node * 3. 输出 22.5 |
变量允许我们向图中添加可训练的参数。它们的构造类型和初始值:
W = tf.Variable([.3], dtype=tf.float32) |
常数在调用时被初始化tf.constant
,其值永远不会改变。相比之下,调用时,变量不会被初始化tf.Variable
。要初始化TensorFlow程序中的所有变量:
init = tf.global_variables_initializer() |
x
是占位符评估linear_model
几个值
print(sess.run(linear_model, {x: [1, 2, 3, 4]})) 输出 [ 0. 0.30000001 0.60000002 0.90000004] |
评估训练模型创建损失函数
y = tf.placeholder(tf.float32) 输出 23.66 |
tf.assign参数值
fixW = tf.assign(W, [-1.]) 输出 0.0 |
tf.train API
TensorFlow提供了优化器,可以缓慢地更改每个变量,以便最大限度地减少损失函数。最简单的优化器是梯度下降。它根据相对于该变量的损失导数的大小修改每个变量tf.gradients
例如:
optimizer = tf.train.GradientDescentOptimizer(0.01) sess.run(init) # reset values to incorrect defaults. 输出 [array([-0.9999969], dtype=float32), array([ 0.99999082], |
完成程序
完成的可训练线性回归模型如下:
import tensorflow as tf 输出 W: [-0.9999969] b: [ 0.99999082] loss: 5.69997e-11 |
标签:必须 入门 官方 oss ini on() top mode mini
原文地址:http://www.cnblogs.com/yinghuali/p/7571788.html