前言

本章的目的是了解和运行 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]

以上代码的第一部分构建了数据的流向图 (flow 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,请先阅读初级教程 (蓝色药丸).如果你的水平介于这两类人之间, 我们建议你先快速 浏览初级教程,然后再阅读高级教程。

最新文章

  1. [BZOJ 2819]NIM(dfs序维护树上xor值)
  2. jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性
  3. vs2010 使用vs online账号 需要安装的插件
  4. git提交报异常,fatal: The remote end hung up unexpectedly
  5. jquery+thinkphp实现跨域抓取数据的方法
  6. elasticsearch-查询的基本语法
  7. java开发规范总结_代码注释规范
  8. Robot Framework自动化测试环境部署
  9. bzoj 1150: [CTSC2007]数据备份Backup
  10. java 三种工厂模式
  11. Android 应用加固(乐固)操作说明
  12. 第一节 Python基础之数据类型(整型,布尔值,字符串)
  13. 小问题填坑,关于obj.x和obj["x"]
  14. c/c++ 友元基本概念
  15. C语言之链表的使用
  16. Mac下RabbitMQ安装和在Java client端的使用
  17. windows10激活工具,绿色无毒,不改浏览器主页
  18. RF-For循环使用
  19. java多线程 --ConcurrentLinkedQueue 非阻塞 线程安全队列
  20. Android wm指令用法详解

热门文章

  1. centos7使用docker制作tomcat本地镜像
  2. day04-MyBatis的注解开发
  3. PAT T1012 Greedy Snake
  4. System.arraycopy方法解释
  5. Hadoop基准测试(一)
  6. 使用taglib指令在jsp页面导入要使用的jstl标签库
  7. Python 基础之推导式
  8. redis 之redis持久化rdb与aof
  9. SpringBoot 集成Spring JDBC
  10. 从零开始编写IntelliJ IDEA插件