Tensorflow初体验

Tensorflow 是很是重视结构的, 咱们得创建好了神经网络的结构, 才能将数字放进去, 运行这个结构。

今天学习一下Tensorflow 的一个简单的例子python

一、建立数据

首先,须要加载tensorflow numpy 两个模块,而且使用numpy来建立数据。git

import tensorflow as tf
import numpy as np

# create data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3
二、搭建模型

使用tf.Variable来建立描述y的参数。github

Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1]))

y = Weights*x_data + biases
三、计算偏差

计算一下实际的值和原来的偏差。网络

loss = tf.reduce_mean(tf.square(y-y_data))
四、传播偏差
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
五、训练

到目前为止, 咱们只是创建了神经网络的结构, 尚未使用这个结构. 在使用这个结构以前, 咱们必须先初始化全部以前定义的Variable, 因此接下来这段很重要!dom

# init = tf.initialize_all_variables() # tf 立刻就要废弃这种写法
init = tf.global_variables_initializer()  # 替换成这样就好

接着,咱们再建立会话 Session函数

sess = tf.Session()
sess.run(init)          # Very important

for step in range(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(Weights), sess.run(biases))
六、运行代码

跑了一下代码,截图以下

咱们能够看到,这个一次函数的值Weightsbiases原来是两个随机的值,经过200次的学习,一次一次更加趋近于原来的值,也就是0.10.3学习

完整代码以下:spa

from __future__ import print_function
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import tensorflow as tf
import numpy as np

# create data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3

### create tensorflow structure start ###
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1]))

y = Weights*x_data + biases

loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
### create tensorflow structure end ###

sess = tf.Session()
# tf.initialize_all_variables() no long valid from
# 2017-03-02 if using tensorflow >= 0.12
if int((tf.__version__).split('.')[1]) < 12 and int((tf.__version__).split('.')[0]) < 1:
    init = tf.initialize_all_variables()
else:
    init = tf.global_variables_initializer()
sess.run(init)

for step in range(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(Weights), sess.run(biases))

感谢

莫烦PYTHONcode

相关文章
相关标签/搜索