tensorflow入门教程
人工智能感觉很神秘,作为google公司力推的人工智能框架tensorflow也受到很多人的关注.本文用一个最简单的例子,带领大家看看tensorflow是如何工作的.
如果你对人工智能的原理不了解可以看这篇文章人工智能-神经网络原理
首先导入tensorflow和numpy模块
import tensorflow as tf
import numpy as np
我们知道tensorflow的学习是由一些正确的数据去训练,大量训练之后才会根据之前的经验进行预测.所以我们先构造一些正确的数据.
x = np.random.rand(100).astype(np.float32)
y = x * 0.3 + 0.4
这里x是随机的数列,y是真实数据,也就是我们的训练样本.
下面我们来构造tensorflow中x与y的关系
Weights = tf.Variable(tf.random_uniform([1], -1, 1))
biases = tf.Variable(tf.zeros([1]))
y_prediction = Weights * x + biases
x是输入值,y是tensorflow预测的值.由于不知道x与y是何种关系,所以用两个变量表示,也就是经常听到的权重Weights和偏置值biases.
tf.Variable是tensorflow中的变量
接下来我们要表示出来预测的值与真实值的误差
loss = tf.reduce_mean(tf.square(y_prediction - y))
用预测出来的值减去真实值再平方,再求平均值,得出的值loss就是真实值与预测值的误差.其实这就是我们中学里学的方差.
tf.square是平方运算.tf.reduce_mean是求平均值.
那么接下来如何让预测值更接近真实值呢,当然是让loss越来越小
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
在这一步tensorflow会不断调整Weights和biases,去减少loss
GradientDescentOptimizer是优化器的一种,tensorflow有很多种方法去减少loss
接下来我们要初始化tensorflow的变量,这点与其他语言不一样,tensorflow的变量不会立刻分配内存,像先把设计图画完再开工
init = tf.global_variables_initializer()
激活神经网络
sess = tf.Session()
sess.run(init)
开始训练,我们训练200次,每次都会调用优化器调整权重和偏置值
我们每20步打印一次Weights,和biases的值
for step in range(200):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(Weights), sess.run(biases))
训练到最后,我们发现tensorflow调整出来的Weights和biases非常接近与我们给定的0.3和0.4了,所以如果现在给一个x让tensorflow做预期,得到的y值也会很接近真实值.
tensorflow入门教程的更多相关文章
- TensorFlow入门教程集合
TensorFlow入门教程之0: BigPicture&极速入门 TensorFlow入门教程之1: 基本概念以及理解 TensorFlow入门教程之2: 安装和使用 TensorFlow入 ...
- tensorflow入门教程和底层机制简单解说——本质就是图计算,自动寻找依赖,想想spark机制就明白了
简介 本章的目的是让你了解和运行 TensorFlow! 在开始之前, 让我们先看一段使用 Python API 撰写的 TensorFlow 示例代码, 让你对将要学习的内容有初步的印象. 这段很短 ...
- 【Tensorflow】Tensorflow入门教程
基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使 ...
- TensorFlow 中文资源全集,官方网站,安装教程,入门教程,实战项目,学习路径。
Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...
- TensorFlow 2.0 入门教程实战案例
中文文档 TensorFlow 2 / 2.0 中文文档 知乎专栏 欢迎关注知乎专栏 https://zhuanlan.zhihu.com/geektutu 一.实战教程之强化学习 TensorFlo ...
- TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径。
Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习路径推荐: 官方网站,初步了解. 安装教程,安装之后跑起来. 入门教程,简单的模型学习和运行. 实战项目, ...
- Tensorflow 2.x入门教程
前言 至于为什么写这个教程,首先是为了自己学习做个记录,其次是因为Tensorflow的API写的很好,但是他的教程写的太乱了,不适合新手学习.tensorflow 1 和tensorflow 2 有 ...
- TensorFlow入门示例教程
本部分的代码目前都是基于GitHub大佬非常详细的TensorFlow的教程上,首先给出链接: https://github.com/aymericdamien/TensorFlow-Examples ...
- FaceRank,最有趣的 TensorFlow 入门实战项目
FaceRank,最有趣的 TensorFlow 入门实战项目 TensorFlow 从观望到入门! https://github.com/fendouai/FaceRank 最有趣? 机器学习是不是 ...
随机推荐
- Ubuntu下通过makefile生成静态库和动态库简单实例
本文转自http://blog.csdn.net/fengbingchun/article/details/17994489 Ubuntu环境:14.04 首先创建一个test_makefile_gc ...
- Windows下caffe的python接口配置
主要是因为,发现很多代码是用python编写的,在这里使用的python安装包是anaconda2. 对应下载地址为: https://www.continuum.io/downloads/ 安装py ...
- css响应式布局
以设计稿为准,假设设计稿竖屏宽度为750px,取根元素的font-size为50px 在iphone6(375px)下,deviceWidth=7.5rem, 这个就是viewPort中的device ...
- python利用django实现简单的登录和注册,并利用session实现了链接数据库
利用session实现与数据库链接,登录模块(在views.py) def login(request): # return HttpResponseRedirect('/') # 判断是否post方 ...
- Web桌面应用框架3:Web桌面应用开发的N种Style
研究Web桌面应用开发有一段时间了,总结了Web桌面应用开发的一些主流方式. 一.前端Style 这种方式的就是直接实现一个Web程序,再封装一个浏览器展示,相当粗暴和有效.著名的框架就是Electr ...
- layui + jfinal 实现上传下载
1.需要把jfinal的环境配置好 2.导入相关的库文件 layui的库文件 就是这两个文件需要导入到自己的页面 注意:jfinal总会把路径拦截,所以需要静态文件处理.本人不太懂.就网上找了下,说w ...
- smm框架整合实现登录功能
一.准备所需的jar包 1.1所需jar包 1.Spring框架jar包 2.Mybatis框架jar包 3.Spring的AOP事务jar包 4.Mybatis整合Spring中间件jar包 5.a ...
- java中volatile的简单理解
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7833881.html 据说,volatile是java语言中最轻量级的并发控制方式. vo ...
- HTML出现错位的问题
引起网页HTML显示错位的几个常见问题: 1.在HTML代码中缺失元素的开始或结束标签 2.CSS设置中对边界.填充或边框的设置超出了父级容器的范围 3.CSS和HTML的编码不统一 4.浏览器的解析 ...
- oracle数据库管理系统常见的错误(二)
oracle数据库,对于新手来说总会遇到这样的问题: 相信大家都遇到了这样的问题,说实话,我曾经就遇到过这样的问题,但是不好意思问旁边的技术大咖,都有点怀疑人生了,然后自己在网上去查找原因,结果发现, ...