Ternsorflow 学习:001-通过例程,初步了解tensorflow

Posted schips

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ternsorflow 学习:001-通过例程,初步了解tensorflow相关的知识,希望对你有一定的参考价值。

前言

本章的目的是了解和运行 TensorFlow,在开始之前,让我们先看一段使用 Python API 撰写的 TensorFlow 示例代码,让你 对将要学习的内容有初步的印象。

下面这段短小的 Python 程序将把一些数据放入二维空间,再用一条线来拟合这些数据:

import tensorflow as tf
import numpy as np
 # Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3

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

# Try to find values for W and b that compute y_data = W * x_data + b
# (We know that W should be 0.1 and b 0.3, but Tensorflow will
# figure that out for us.)
w = tf.Variable(tf.random_uniform([1],-1.0,1.0))
b = tf.Variable(tf.zeros([1]))
y = w * x_data +b
# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
 # Before starting, initialize the variables. We will 'run' this first
init = tf.initialize_all_variables()
# Launch the graph.
sess = tf.Session()
sess.run(init)
# Fit the line.
for step in range(201):
    sess.run(train)
    if step % 20 ==0:
        print(step, sess.run(w), sess.run(b))
# Learns best fit is W: [0.1], b: [0.3]
(tensorflow-dev)

以上代码的第一部分构建了数据的流向图 (?ow graph).在一个 session 被建立并 且run()函数被运行前,TensorFlow 不会进行任何实质的计算. 在虚拟环境下运行python3 tf_001.py以后的执行结果为:

0 [0.5336875] [0.07610922]
20 [0.22660719] [0.2293212]
40 [0.13763347] [0.278991]
60 [0.1111864] [0.29375517]
80 [0.10332511] [0.29814377]
100 [0.10098837] [0.29944825]
120 [0.10029378] [0.299836]
140 [0.10008732] [0.29995126]
160 [0.10002597] [0.2999855]
180 [0.10000773] [0.2999957]
200 [0.10000231] [0.29999873]
(tensorflow-dev)

为了进一步激发你的学习欲望, 我们想让你先看一下 TensorFlow 是如何解决一个经典的机器学习问题的。
在神经网络领域,最为经典的问题莫过于 MNIST 手写数字分类。
为此,我们准备了两篇不同的教程,分别面向初学者和专家。如果你已经使用其它软件训练过许多MNIST模型,请参阅高级教程(红色药丸).如果你以前从未听说过MNIST,请先阅读初级教程 (蓝色药丸).如果你的水平介于这两类人之间, 我们建议你先快速 浏览初级教程,然后再阅读高级教程。

以上是关于Ternsorflow 学习:001-通过例程,初步了解tensorflow的主要内容,如果未能解决你的问题,请参考以下文章

Ternsorflow 学习:006-MNIST进阶 深入MNIST

Ternsorflow 学习:004-MNIST 构建模型

NO.001:安装登录CENTOS / 1.1:学习之初

我的Go+语言初体验——零基础学习 Go+ 爬虫

001_webrtc初接触

前端例程 001:新拟物风格(Neumorphism)设计与实现