tensorflow版helloworld---拟合线性函数的k和b(02-4)
给不明白深度学习能干什么的同学,感受下深度学习的power
import tensorflow as tf
import numpy as np #使用numpy生成100个随机点
x_data=np.random.rand(100)
y_data=x_data*0.1+0.2 #这里我们设定已知直线的k为0.1 b为0.2得到y_data #构造一个线性模型
b=tf.Variable(0.)
k=tf.Variable(0.)
y=k*x_data+b #二次代价函数(白话:两数之差平方后取 平均值)
loss=tf.reduce_mean(tf.square(y_data-y))
#定义一个梯度下降法来进行训练的优化器(其实就是按梯度下降的方法改变线性模型k和b的值,注意这里的k和b一开始初始化都为0.0,后来慢慢向0.1、0.2靠近)
optimizer=tf.train.GradientDescentOptimizer(0.2) #这里的0.2是梯度下降的系数也可以是0.3...
#最小化代价函数(训练的方式就是使loss值最小,loss值可能是随机初始化100个点与模型拟合出的100个点差的平方相加...等方法)
train=optimizer.minimize(loss) #初始化变量
init=tf.global_variables_initializer() with tf.Session() as sess:
sess.run(init)
for step in range(201):
sess.run(train)
if step%20==0:
print(step,sess.run([k,b])) #这里使用fetch的方式只是打印k、b的值,每20次打印一下,改变k、b的值是梯度下降优化器的工作
贴一张我的运行结果:
看,k和b在一步步逼近0.1和0.2,是不是很神奇!最终的误差仅为0.000026526和0.00001402,厉害吧,感受到深度学习的强大了么,这里还只是一个神经元,如果成千上万个甚至几十万个会有什么效果呢?
这就是深度学习的power,当然前提是你得配上tensorflow的接口,才能快速高效的搭建自己的神经网络。
目录:
- tensorflow简介、目录
- tensorflow中的图(02-1)
- tensorflow变量的使用(02-2)
- tensorflow中的Fetch、Feed(02-3)
- tensorflow版helloworld---拟合线性函数的k和b(02-4)
- tensorflow非线性回归(03-1)
- MNIST手写数字分类simple版(03-2)
- 二次代价函数、交叉熵(cross-entropy)、对数似然代价函数(log-likelihood cost)(04-1)
- 多层网络通过防止过拟合,增加模型的准确率(04-2)
- 修改优化器进一步提升准确率(04-3)
- 手写数字识别-卷积神经网络cnn(06-2)
- 循环神经网络rnn与长短时记忆神经网络简述(07-2)
- 循环神经网络lstm代码实现(07-3)
- tensorflow模型保存和使用08
- 下载inception v3 google训练好的模型并解压08-3
- 使用inception v3做各种图像分类识别08-4
- word2vec模型训练简单案例
- word2vec+textcnn文本分类简述及代码
tensorflow版helloworld---拟合线性函数的k和b(02-4)的更多相关文章
- TensorFlow拟合线性函数
TensorFlow拟合线性函数 简单的TensorFlow图构造 以单个神经元为例 x_data数据为20个随机 [0, 1) 的32位浮点数按照 shape=[20] 组成的张量 y_data为 ...
- 目标检测之车辆行人(tensorflow版yolov3)
背景: 在自动驾驶中,基于摄像头的视觉感知,如同人的眼睛一样重要.而目前主流方案基本都采用深度学习方案(tensorflow等),而非传统图像处理(opencv等). 接下来我们就以YOLOV3为基本 ...
- TensorFlow笔记-08-过拟合,正则化,matplotlib 区分红蓝点
TensorFlow笔记-08-过拟合,正则化,matplotlib 区分红蓝点 首先提醒一下,第7讲的最后滑动平均的代码已经更新了,代码要比理论重要 今天是过拟合,和正则化,本篇后面可能或更有兴趣, ...
- Tensorflow版Faster RCNN源码解析(TFFRCNN) (2)推断(测试)过程不使用RPN时代码运行流程
本blog为github上CharlesShang/TFFRCNN版源码解析系列代码笔记第二篇 推断(测试)过程不使用RPN时代码运行流程 作者:Jiang Wu 原文见:https://hom ...
- tensorflow学习4-过拟合-over-fitting
过拟合: 真实的应用中,并不是让模型尽量模拟训练数据的行为,而是希望训练数据对未知做出判断. 模型过于复杂后,模型会积极每一个噪声的部分,而不是学习数据中的通用 趋势.当一个模型的参数比训练数据还要多 ...
- 跟我学算法-tensorflow 实现线性拟合
TensorFlow™ 是一个开放源代码软件库,用于进行高性能数值计算.借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU.GPU.TPU)和设备(桌面设备.服务器集群.移动设备.边缘设 ...
- Delphi_01_控制台版HelloWorld
对于Windows下的控制台编程,我相信很多人都不陌生.而C语言开始的著名的“Hello world”程序基本是学习编程的第一步.我想对于 RAD开发,大家熟悉的一般都是GUI编程,而对于consol ...
- 初学tornado之MVC版helloworld
作者:the5fire | 标签: MVC tornado | 发布:2012-08-06 2:41 p.m. 文接上篇,看我一个简单的helloworld,虽然觉得这个框架着实精小,但是实际开发 ...
- tensorflow版的bvlc模型
研究相关的图片分类,偶然看到bvlc模型,但是没有tensorflow版本的,所以将caffe版本的改成了tensorflow的: 关于模型这个图: 下面贴出通用模板: from __future__ ...
随机推荐
- C语言进行csv文件数据的读取
C语言进行csv文件数据的读取: #include <stdio.h> #include <string.h> #include <malloc.h> #inclu ...
- shell脚本入门笔记
转载:http://mp.weixin.qq.com/s?__biz=MzA3MTIxNzkyNg==&mid=204081791&idx=1&sn=27bb1d827e0f8 ...
- Servlt入门
Servlt入门 java的两种体系结构 C/S (客户端/服务器)体系结构 通讯效率高且安全,但系统占用多 B/S (浏览器/服务器)体系结构 节约开发成本 C/S (客户端/服务器)体系结 ...
- vue 路由传参 以及获取参数
1.通过query实现: <router-link :to="{ name:'home',query:{id:1} }">跳转页面</router-link> ...
- MySQL双机热备环境搭建
一. 前期准备 准备两台服务器(电脑),接入到同一局域网中,能够使双方可以ping通: 安装MySQL数据库,具体安装方法网上很全面,但是安装的版本需保持一致: 服务器IP地址设置. l A服 ...
- github 创建gitlab每次提交都要输入账号
在使用git提交代码到github的时候,经常要求输入用户名和密码,类似这种: 除了在 github 上添加 SSH key 网上有这么一种解决方法:使用git提交到github,每次都要输入用户名和 ...
- js中ES6的Set的基本用法
ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. const s = new Set(); [2,3,5,4,5,2,2].forEach(x => s. ...
- rapidxml编写xml文件(er)
一.以rapidxml::node_declaration形式写xml文件第一行 int write(void) { ; rapidxml::xml_document<> doc; rap ...
- pikachu-搜索型注入 #手工注入
1.搜索型注入漏洞产生的原因: 在搭建网站的时候为了方便用户搜索该网站中的资源,程序员在写网站脚本的时候加入了搜索功能,但是忽略了对搜索变量的过滤,造成了搜索型注入漏洞,又称文本框注入. 2.搜索型注 ...
- 《掌握融资必备知识》---创业学习---训练营第一课---HHR---
一,<开始学习> 1,四个思考题: (1)从你决定开始融资,到你拿到钱,你都需要经历哪些环节? (2)你知道投资机构内部的工作流程吗? (3)融资最好的时机是什么时候? (4)创投圈的专业 ...