TensorFlow学习笔记

来源:互联网 发布:淘宝直播卖东西可信吗 编辑:程序博客网 时间:2024/06/05 19:02

笔记

课程链接:http://edu.csdn.net/huiyiCourse/attend/433

一、TensorFlow 安装

pip install ternsorflow

二、开发环境

起内置的 web console

localhost:8888/notebooks/

三、开发

a)变量申明和创建

由于计算量和变量过多统一了变量的计算方式
需要把变量转换为要求的变量格式,使用工具方法
w = tf.Variable([0.5, 1.0])
x = tf.Variable([[2.0], [1.5]])

矩阵相乘
y = tf.matmul(w, x)

b) 执行过程

构造 session (计算域)
全局变量初始化,初始化之后才能使用?什么鬼
init_op = tf.global_variables_initializer()

with tf.Session() as sess:
sess.run(init_op)
print (y.eval())

c) 常用 api

常数变量初始化
tf.zeros([3,4], int32) 和 matlab 类似
tf.zero_like(tensor) 复制创建
tf.ones(….) 都是1

tf.constant….

tf.range(start, limit, delta)

norm = tf.random_normal([2,3],mean=-1, stddev=4) 随机初始化,高斯函数

tf.random_shuffle(c) 数据打乱

d)numpy 桥接,变量互转

a = np.zeros(3,3)

e) 数据绑定 占位符?相当于函数内的变量名(确定类型)

input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)

output = tf.mul(input1, input2)

with tf.Session() as sess:
print(sess.run([output], feed_dict{input1:[7.]}, input2:[2]))

feed_dict 固定名称,字典结构

f) 练习 - 拟合

matplotlib 画图的库

变量定义
W = tf.Variable(tf.random_uniform(1), -1.0, 1.0), name=’W’)
b = tf.Variable(tf.zeros([1], name=’b’))

目标函数
y = W * x_data + b

# 损失函数
最小二乘法
loss = tf.reduce_mean(tf.square(y - y_data), name=’loss’)

# 采用梯度下降进行优化函数
optimizer = tf.train.GraientDescentOptimizer(0.5)

# 训练过程
train = optimizer.minimize(loss, name=’train’)

# 执行
sess = tf.Session()
init = tf.global_variables_initializer()
session.run(init)

# 打印初始值
print (“W =”, sess.run(W), “b=”, sess.run(b), “loss=”, sess.run(loss))
# 执行训练
for step in range(20)
sess.run(train)
print (“W =”, sess.run(W), “b=”, sess.run(b), “loss=”, sess.run(loss))
# 模型参数保存
writer = tf.train.SummaryWriter(“./tmp”,sess.graph)

saver.restore(sess, “path”)

g) 构造一个基础神经网络

经典数据集
看例子代码

原创粉丝点击