tensorflow白话篇】的更多相关文章

接触机器学习也有相当长的时间了,对各种学习算法都有了一定的了解,一直都不愿意写博客(借口是没时间啊),最近准备学习深度学习框架tensorflow,决定还是应该把自己的学习一步一步的记下来,方便后期的规划.当然,学习一个新东西,第一步就是搭建一个平台,这个网上很多相关博客,不过,还是会遇到很多坑的,坑咋们不怕,趟过就好了.下面就以一个逻辑回归拟合二维数据为例来入门介绍吧.(参考书:深度学习之Tensorflow入门原理与进阶实践) 学习都是有一定套路的,深度学习一般情况下:准备数据.搭建模型.迭…
上面是一个简单的回归算法,下面是一个简单的二分值分类算法.从两个正态分布(N(-1,1)和N(3,1))生成100个数.所有从正态分布N(-1,1)生成的数据目标0:从正态分布N(3,1)生成的数据标为目标类1,模型算法通过sigmoid函数将这些生成的数据转换成目标类数据.换句话讲,模型算法是sigmoid(x+A),其中,A是要拟合的变量,理论上A=-1.假设,两个正态分布的均值分别是m1和m2,则达到A的取值时,它们通过-(m1+m2)/2转换成到0等距离的值. 实现如下: import…
这里将讲解tensorflow是如何通过计算图来更新变量和最小化损失函数来反向传播误差的:这步将通过声明优化函数来实现.一旦声明好优化函数,tensorflow将通过它在所有的计算图中解决反向传播的项.当我们传入数据,最小化损失函数,tensorflow会在计算图中根据状态相应的调节变量. 这里先举一个简单的例子,从均值1,标准差为0.1的正态分布中随机抽样100个数,然后乘以变量A,损失函数L2正则函数,也就是实现函数X*A=target,X为100个随机数,target为10,那么A的最优结…
继续上篇的pyspark集成后,我们再来看看当今热的不得了的tensorflow是如何继承进pycharm环境的 参考: http://blog.csdn.net/include1224/article/details/53452824 思路其实很简单,说下要点吧 1. python必须要3.5 64位版本(上一篇直接装的是64位版本的Anaconda) 2. 激活3.5版本的python环境,用activate {env name}就行了 3. 在激活的环境中运行pip install --u…
写在前面: 自学tensorflow半个月,博友们给了我很多帮助,这是我第一篇原创的博文,我想把之前的知识梳理一遍,我会分享我一些在学习过程中遇到的问题,我目前只有这些......... 在介绍tensorflow之前我想说一下需要具有的知识,高等数学和神经元网络的基本模型是一定要会的,我想介绍一下python,关于他的基础知识在我在我博客python的分类中,有一些我没有发布,因为可能还存在纰漏.我会逐渐完善,发布出来.我想在这一篇文章中介绍python的两个模块---numpy和matplo…
继续上篇的pyspark集成后,我们再来看看当今热的不得了的tensorflow是如何继承进pycharm环境的 参考: http://blog.csdn.net/include1224/article/details/53452824 思路其实很简单,说下要点吧 1. python必须要3.5 64位版本(上一篇直接装的是64位版本的Anaconda) 2. 激活3.5版本的python环境,用activate {env name}就行了 3. 在激活的环境中运行pip install --u…
安装虚拟机redhat7u4-64 镜像文件在http://www.linuxfly.org/post/659 更换yum 参考https://blog.csdn.net/xiaoyiaoyou/article/details/78841938  3. 安装pip 参考https://pip.pypa.io/en/latest/installing/   4. 安装tensorflow(安装包在https://storage.googleapis.com/tensorflow)可以根据自己需要选…
Hinge损失函数主要用来评估支持向量机算法,但有时也用来评估神经网络算法.下面的示例中是计算两个目标类(-1,1)之间的损失.下面的代码中,使用目标值1,所以预测值离1越近,损失函数值越小: # Use for predicting binary (-1, 1) classes # L = max(0, 1 - (pred * actual)) hinge_y_vals = tf.maximum(., . - tf.multiply(target, x_vals)) hinge_y_out =…
L2正则损失函数(即欧拉损失函数),L2正则损失函数是预测值与目标函数差值的平方和.L2正则损失函数是非常有用的损失函数,因为它在目标值附近有更好的曲度,并且离目标越近收敛越慢: # L = (pred - actual)^2 l2_y_vals = tf.square(target - x_vals) l2_y_out = sess.run(l2_y_vals) L1正则损失函数(即绝对值损失函数).与L2正则损失函数对差值求平方差不同的是,L1正则损失函数对差值求绝对值.L1正则在目标附近不…
#-*- coding:utf-8 -*- import tensorflow as tf sess=tf.Session() #整流水线单元relu print sess.run(tf.nn.relu([-3.,3,10.])) #抵消relu激励函数的线性增长部分 print sess.run(tf.nn.relu6([-3.,3.,10.])) #segmoid函数:1/(1+exp(-x)) print sess.run(tf.nn.sigmoid([-1.,0.,1.])) #双面正切…
#-*- coding:utf-8 -*- #Tensorflow的嵌入Layer import numpy as np import tensorflow as tf sess=tf.Session() #创建占位符和数据 my_array=np.array([[1.,3.,5.,7.,9.], [-2.,0.,2.,4.,6.], [-6,-3,0.,3.,6.]]) x_vars=np.array([my_array,my_array+1]) x_data=tf.placeholder(t…
1.使用占位符和变量 import tensorflow as tf import numpy as np #-----创建变量并初始化----------- def first(): my_var=tf.Variable(tf.zeros([2,3])) sess=tf.Session() initialize_op=tf.global_variables_initializer() print sess.run(initialize_op) #-----声明一个占位符并初始化------ d…
第二章 Tensorflow主要依赖两个工具:Protocol Buffer和Bazel Protocol. Protocol Buffer是一个结构数据序列化的的工具,在Tensorflow中大部分的数据都是通过Protocol Buffer的形式储存,Bazel是谷歌开源的编译工具. 第三章 3.1 Tensor: 张量,多维数组.零阶张量表示标量,一阶张量表示向量... Flow: 计算图 tf.get_default_graph()获取当前默认计算图,通过tf.Graph.device(…
Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算.TensorFlow的运行机制属于“定义”和“运行”相分离.模型的构建只是相当于定义了一个图结构(代表一个计算任务),图中有多个操作节点,每个节点可以有一个或多个tensor作为输入,也会输出1个或多个tensor,只有通过session启动一个会话,并通过feed机制把数据填充进去,数据以tensor的形式进行流动,整个计算任务才能被启动. 用with关键字在程序结束之后会自动关闭 对TensorFlow中图的理解 一…
 参考Tensorflow中文网(http://www.tensorfly.cn/tfdoc/get_started/introduction.html) ,写一个入门. 1.打开pyCharm,新建一个py文件, import tensorflow as tf import numpy as np 2.然后静等pyCharm安装好 tensorflow和numpy 3.然后控制台查看一下,是否装好. import tensorflow as tf tf.__version__ 4.代码copy…
本文主要介绍 Web Scraping 的基本原理,基于Python语言,大白话,面向可爱的小白(^-^). 易混淆的名称: 很多时候,大家会把,在网上获取Data的代码,统称为"爬虫", 但实际上,所谓的"爬虫",并不是特别准确,因为"爬虫"也是分种的, 常见的"爬虫"有两种: 网路爬虫 (Web Crawler),又称 Spider:Spiderbot 网页抓取 (Web Scraper),又称 Web Harvestin…
面向对象的SOLID原则 简介 缩写 全称 中文 S The Single Responsibility Principle 单一责任原则 O The Open Closed Principle 开放封闭原则 L Liskov Substitution Principle 里氏替换原则 I The Interface Segregation Principle 接口分离原则 D The Dependency Inversion Principle 依赖倒置原则 单一职责原则 一个类只应承担一种责…
Softmax交叉熵损失函数(Softmax cross-entropy loss)是作用于非归一化的输出结果只针对单个目标分类的计算损失.通过softmax函数将输出结果转化成概率分布,然后计算真值概率分布的损失: # Softmax entropy loss # L = -actual * (log(softmax(pred))) - (1-actual)(log(1-softmax(pred))) unscaled_logits = tf.constant([[1., -3., 10.]]…
低效的IO方式 最近通过观察PAI平台上TensoFlow用户的运行情况,发现大家在数据IO这方面还是有比较大的困惑,主要是因为很多同学没有很好的理解本地执行TensorFlow代码和分布式云端执行TensorFlow的区别.本地读取数据是server端直接从client端获得graph进行计算,而云端服务server在获得graph之后还需要将计算下发到各个worker处理(具体原理可以参考视频教程-Tensorflow高级篇:https://tianchi.aliyun.com/compet…
低效的IO方式 最近通过观察PAI平台上TensoFlow用户的运行情况,发现大家在数据IO这方面还是有比较大的困惑,主要是因为很多同学没有很好的理解本地执行TensorFlow代码和分布式云端执行TensorFlow的区别.本地读取数据是server端直接从client端获得graph进行计算,而云端服务server在获得graph之后还需要将计算下发到各个worker处理(具体原理可以参考视频教程-Tensorflow高级篇:https://tianchi.aliyun.com/compet…
AI,大数据,复杂系统 最精 40本大书单 原创 2017-10-30 Peter 混沌巡洋舰 如果这篇文的题目变成最全书单,那么这篇文会变得又臭又长,这个年代,关于人工智能和大数据的书,没有一万本也有一千本,而这里列出的40本,则是精选过的,不敢说每一本都字字珠玑,但这个书单保证没有一本水书.废话不说,赶快上车,先放思维导图,再一本本的简单说说. 书单分成8部分,其中的数字代表我对这一系列的书的推荐程度. 先说经典书的部分 终极算法:机器学习和人工智能如何重塑世界  这本书的名字,显示着作者试…
吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料 人工智能学习书单(关注微信公众号:aibbtcom获取更多资源) 文末附百度网盘下载地址 人工神经网络与盲信号处理 人工神经网络与模糊信号处理 人工智能(AI)程序设计(面向对象语言) 人工智能 人工智能导论 人工智能基础 人工智能及其应用(蔡自兴) 人工智能入门 人工智能人工神经网络及其语言AI&ANNProgramming in Emacs Lisp 人工智能哲学 深度学习 中文版 深度学习21天学习 深度学习基础(Fun…
YOLOv1和YOLOv2简单看了一下,详细看了看YOLOv3,刚看的时候是蒙圈的,经过一番研究,分步记录一下几个关键的点: v2和v3中加入了anchors和Faster rcnn有一定区别,这个anchors如何理解呢? 个人理解白话篇: (1)就是有一批标注bbox数据,标注为左上角坐标和右下角坐标,将bbox聚类出几个类作为事先设置好的anchor的宽高,对应格式就是voc数据集标xml注格式即可. 代码提取标注数据里的宽高并用图像的宽高进行归一化: def load_dataset(p…
问题地址: http://www.thegrouplet.com/thread-112923-1-1.html 问题: 网站配有太多的模板是否影响网站加载速度 月光答复: wp不需要删除其他的模板,不影响速度 问题地址: http://www.thegrouplet.com/thread-112926-1-1.html 问题: 除了WORDPRESS大家还用什么其他的博客程序额? 月光答复: Typecho这种虽然简单,但是如果你有特殊需要,找插件和模板就难多了 各有各的好  ... 问题地址:…
http://www.jianshu.com/p/4195577585e6 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型 基于tensorflow的MNIST手写数字识别(二)--入门篇 基于tensorflow的MNIST手写数字识别(三)--神经网络篇 一.本文的意义 因为谷歌官方其实已经写了MNIST入门和深入两篇教程了,那我写这些文章又是为什么呢,只是抄袭?那倒并不是,更准确的说应该是笔记吧,然后用更通俗的语言来解释,并且补充更多,官方文章中没有详细展开的…
上一篇<白话tornado源码之请求来了>介绍了客户端请求在tornado框架中的生命周期,其本质就是利用epoll和socket来获取并处理请求.在上一篇的内容中,我们只是给客户端返回了简单的字符串,如:“Hello World”,而在实际开发中,需要使用html文件的内容作为模板,然后将被处理后的数据(计算或数据库中的数据)嵌套在模板中,然后将嵌套了数据的html文件的内容返回给请求者客户端,本篇就来详细的剖析模板处理的整个过程. 概述 上图是返回给用户一个html文件的整个流程,较之前的…
上一篇<白话tornado源码之待请求阶段>中介绍了tornado框架在客户端请求之前所做的准备(下图1.2部分),本质上就是创建了一个socket服务端,并进行了IP和端口的绑定,但是未执行 socket的accept方法,也就是未获取客户端请求信息. 概述 本篇就来详细介绍tornado服务器(socket服务端)是如何接收用户请求数据以及如果根据用户请求的URL处理并返回数据,也就是上图的3系列所有步骤,如上图[start]是一个死循环,其中利用epoll监听服务端socket句柄,一旦…
上篇<白话tornado源码之一个脚本引发的血案>用上帝视角多整个框架做了一个概述,同时也看清了web框架的的本质,下面我们从tornado程序的起始来分析其源码. 概述 上图是tornado程序启动以及接收到客户端请求后的整个过程,对于整个过程可以分为两大部分: 启动程序阶段,又称为待请求阶段(上图1.2所有系列和3.0) 接收并处理客户端请求阶段(上图3系列) 简而言之: 1.在启动程序阶段,第一步,获取配置文件然后生成url映射(即:一个url对应一个XXRequestHandler,从…
前一篇讲过环境的部署篇,这一次就讲讲从代码角度如何导出pb模型,如何进行服务调用. 1 hello world篇 部署完docker后,如果是cpu环境,可以直接拉取tensorflow/serving,如果是GPU环境则麻烦点,具体参考前一篇,这里就不再赘述了. cpu版本的可以直接拉取tensorflow/serving,docker会自动拉取latest版本: docker pull tensorflow/serving 如果想要指定tensorflow的版本,可以去这里查看:https:…
最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ubuntu:/usr/bin$ cat /etc/issue Ubuntu 16.04.5 LTS \n \l 或者 ubuntu@ubuntu:/usr/bin$ uname -m && cat /etc/*release x86_64 DISTRIB_ID=Ubuntu DISTRIB_RE…