TensorFlow学习笔记----安装和例子(1)

在入门前,推荐一个博客链接:https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/

Windows下tensorflow安装

1、安装anacondas

2、进入anaconda prompt

3、输入命令conda list,看有没有安装numpy等模板。

4、如果安装了numpy,则安装不同版本的python,输入命令:conda create --name tensorflow python=3.5

5、执行完上面的命令,执行:activate tensorflow(激活TensorFlow)

6、执行命令:Python

7、可以测试TensorFlow小程序了,比如:输入import tensorflow as tf,若不报错则安装成功。

 8、退出Python环境:exit()

9、退出TensorFlow环境:deactivate

例子

使用TensorFlow中的梯度下降法构建线性学习模型的使用示例:(来源:https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/2-2-example2/)

#导入TensorFlow python API库
import tensorflow as tf
import numpy as np
#随机生成100点(x,y),type为float32,因为TensorFlow中大部分数据形式都为float32
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3#构建TensorFlow structure start#
#构建线性模型的tensor变量W, b;W初始值为(-1,1)的数,b为0;
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
#构建损失方程,优化器optimizer及训练模型操作train减少loss,0.5为学习效率
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
#构建变量初始化操作init
init = tf.initialize_all_variables()#构建TensorFlow structure end##构建TensorFlow session
sess = tf.Session()

#初始化所有TensorFlow变量,激活
sess.run(init)

#训练该线性模型,每隔20次迭代,输出模型参数
for step in range(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))

tf.random_uniform([1],-1.0,1.0):构建一个tensor,张量shape为[1](即一维数组,里面包含1个元素),值符合[-1,1)均匀分布。

tf.Variable(initial_value=None):构建一个新变量,该变量常用来表示图中的各个计算参数,比方说激活函数中的W、b等。变量会加入到TensorFlow框架图集合中。

tf.zeros([1]):构建一个所有元素为0的tensor,shape为[1]

tf.square(x,name=None):计算tensor的平方值。

tf.reduce_mean(input_tensor):计算input_tensor中所有元素的均值。

tf.train.GradientDescentOptimizer(0.5):构建一个梯度下降优化器,0.5为学习速率。

optimizer.minimize(loss):构建一个优化算子操作。使用梯度下降法计算损失方程的最小值。loss为需要被优化的损失方程。

tf.initialze_all_variables():初始化所有TensorFlow的变量。变量一定要初始化才能有值。

tf.Session():创建一个TensorFlow的session,在该session中会运行TensorFlow的图计算模型。

sess.run():在session中执行图模型的运输操作。如果参数为tensor时,可以用来求tensor的值。

运行结果:W越来越接近0.1,b越接近0.3

原文地址:https://www.cnblogs.com/Lee-yl/p/8481389.html