Ternsorflow 学习:001-通过例程,初步了解Tensorflow
2024-08-31 10:26:16
前言
本章的目的是了解和运行 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,请先阅读初级教程 (蓝色药丸).如果你的水平介于这两类人之间, 我们建议你先快速 浏览初级教程,然后再阅读高级教程。
最新文章
- [BZOJ 2819]NIM(dfs序维护树上xor值)
- jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性
- vs2010 使用vs online账号 需要安装的插件
- git提交报异常,fatal: The remote end hung up unexpectedly
- jquery+thinkphp实现跨域抓取数据的方法
- elasticsearch-查询的基本语法
- java开发规范总结_代码注释规范
- Robot Framework自动化测试环境部署
- bzoj 1150: [CTSC2007]数据备份Backup
- java 三种工厂模式
- Android 应用加固(乐固)操作说明
- 第一节 Python基础之数据类型(整型,布尔值,字符串)
- 小问题填坑,关于obj.x和obj[";x";]
- c/c++ 友元基本概念
- C语言之链表的使用
- Mac下RabbitMQ安装和在Java client端的使用
- windows10激活工具,绿色无毒,不改浏览器主页
- RF-For循环使用
- java多线程 --ConcurrentLinkedQueue 非阻塞 线程安全队列
- Android wm指令用法详解