TensorFlow基本概念
- 使用图(graphs)来表示任务
- 在被称之为会话(Session)的上下文(context)中执行图
- 使用tensor表示数据
- 通过变量(Variable)维护状态
- 使用feed和fetch可以为任意的操作赋值或者从中获取数据
Tensorflow是一个编程系统,使用图(graphs)来表示计算任务,图(graphs)中的节点称之为op(operation),一个op获的0个或者多个Tensor,执行计算,产生0个或者多个Tensor。Tensor看做是一个维护n维的数组或列表。图必须在会话(Session)里被启动。
TensorFlow结构
image.png实现一个简单的线性模型问题
#导入相关的库
import tensorflow as tf
import numpy as np
#产生100个随机数
x_data = np.random.rand(100)
y_data = x_data * 0.1 + 0.2 #y_data为已知的样本数据集
#设计一个线性模型
k = tf.Variable(0.) # k为斜率,初始化为0
b = tf.Variable(0.) # b为截距,初始化为0
y = x_data * k + b
#二次损失函数
loss = tf.reduce_mean(tf.square(y_data - y)) #均方差
#定义一个用于训练的梯度下降法的优化器
optimizer = tf.train.GradientDescentOptimizer(0.1) #0.1为学习率
#训练函数
train = optimizer.minimize(loss) #最小化损失函数
# 初始化变量
init = tf.global_variables_initializer()
# 生成全局会话
with tf.Session() as sess:
sess.run(init)
#迭代201次
for step in range(201):
sess.run(train)
if step % 20 == 0:
print('k:',sess.run(k),'b:',sess.run(b))
网友评论