- 博客(221)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 TensorFlow可微编程实践2---自动微分符号体系
自动微分采用一套与常规机器学习和深度学习不同的符号体系,我们只有熟悉了这个符号体系,才能比较轻松的看懂自动微分的文章。本篇博文将向大家介绍自动微分中使用的符号体系。...
2018-06-20 16:20:02 1284 1
原创 TensorFlow可微编程实践1---自动微分简介
在程序中求导数和微分一般有四种方式: 1. 手动求微分:采用纯人工方式,与计算机无关,这种我们不进行讨论 2. 数值方法:这种方式利用导数的定义,直接求解微分值 3. 符号微分法:通过解析式找到函数导数的表达式,将其转化为计算机程序 4. 自动微分:采用类似有向图的计算来求解微分值在这里我们以一个较为复杂的多项式函数为例,来说明三种计算方式的不同。函数定义为: l1=xl1=...
2018-06-19 15:18:31 2740 1
原创 TensorFlow中的Eager Execution和自动微分
在传统的TensorFlow开发中,我们需要首先通过变量和Placeholder来定义一个计算图,然后启动一个Session,通过TensorFlow引擎来执行这个计算图,最后给出我们需要的结果。相信大家在入门阶段,最困惑的莫过于想要打印某些向量或张量的值,在Session之外或未执行时,其值不可打印的问题。TensorFlow采用这种反人性的设计方式,主要是为了生成基于符号的计算图,然后通过C+...
2018-06-19 11:03:20 2438
原创 TensorFlow CPU版源码安装
最近发现Windows10有一个非常好的特性,就是自带一个完整的Linux Subsystem,可以完全模拟一个Ubuntu系统,甚至可以模拟图形界面,而且不用离开Windows环境,以一个Windows标准程序的方式运行,这为我们在Windows平台上开发Linux应用提供了极大的方便,目前发现其唯一的不足之处在于其不支持对硬件GPU的访问,对于深度学习应用来说,是一个比较大的遗憾。配置Wind...
2018-06-18 14:14:50 1881 1
原创 工业互联网平台IMSA---1.4.启动过程详解3
我们已经实现了一些基础的功能,但是由于我们只是以最简实现的方式来实现这些功能,所以代码远谈不上优化,因此我们在这篇博文中,先暂时不开发新功能,而是对现有功能进行重构。首先,我们不仅在门户Facade中需要Nio服务器,在消息总线Plato接收微服务注册、接收系统消息时也需要NIO服务器,同时微服务控制器和微服务接收消息总线消息时,也需要NIO服务器,目前这种实现方式,显然不能满足这些重用需求,
2018-01-26 12:15:29 617
原创 工业互联网平台IMSA---1.3.启动过程详解2
在上一篇博文中,我们启动了门户Facade的基于NIO技术的服务器,可以监听到外部系统发送过来的REST类型请求,门户Facade在收到请求后,会将其转化为系统消息,并发送到消息总线Plato中,这样对这个消息感举趣的微服务控件器Caesar就可以得到消息,从而完成所需的业务逻辑,并将最终处理结果发送到消息总线Plato上,最后门户Facade从消息总线上获取消息,然后转化为HTTP响应,发送给外
2018-01-25 15:58:27 600
原创 工业互联网平台IMSA---1.2.启动过程详解1
虽然微服务工业云IMSA内部采用基于消息总线的异步消息处理机制,但是当前工业企业无论自动化App还是业务管理App,通常采用的是类REST的请求响应式接口,因此IMSA系统提供了门户Facade子系统,由该子系统与外部系统进行请求响应式交互,在内部则将请求转换为系统的消息,发送到消息总线Plato上,由消息驱动完成所需业务逻辑,最后门户Facade系统从消息总线中获得响应结果,发送给外部系统。因此
2018-01-24 16:32:08 747
原创 工业互联网平台IMSA---1.1.项目概述
工业互联网是新一代信息通信技术和现代工业技术深度融合的产物,是制造业数字化、网络化、智能化的重要载体,是全球产业竞争的制高点。工业互联网通过建立连接机器、物料、人、信息系统的基础网络,实现工业数据的全面感知、动态传输、实时分析,形成科学决策和智能控制,提高制造资源配置效率,正成为领先企业竞争的新赛道,全球产业布局的新方向,制造大国竞争的新焦点。工业互联网平台是工业全要素链接的枢纽,是工业资源配置的
2018-01-24 14:27:35 1759
原创 spark 2.1.0安装指南完整版
Spark的资料非常多,但是完整介绍Spark安装的资料却非常少见,本文就是记录一下安装配置Spark2.1.0的过程,希望能对大家有所帮助。包括安装JDK、Scala、Python、Hadoop、Spark,并且修改Spark源码文件,使pyspark其可以与Python 3.6配合使用。
2017-03-17 10:44:58 10333 1
原创 在Word2007中加入带行号和高亮显示的代码段
我们在编写Word文档时,希望也能有CSDN博客中的代码插件的效果,可以插入带有行号和高亮显示的代码,然而这却不太容易做到。要做到这一点,有两种方式,一种是借助Notepad++,将内容导出为HTML格式,然后插入到Word中。这种方式的缺点是不能带行号,这对于想要解释代码来说,非常不方便。还有一种方式,就是我们通过Word中的VBA语言进行编程,来自动对代码段进行高亮显示和添加行号,这种方式可以
2017-03-15 09:48:27 6326 1
原创 Ubuntu下LAMP环境配置
对于新安装的Ubuntu系统,首先需要更新apt源,运行如下命令:sudo apt-get update完成后,先安装编译工具:sudo apt-get install build-essential安装Apache2:sudo apt-get install apache2在缺省情况下,Apache2的网页文件目录为/var/www/html,我们一般都习惯于将其设置为/var/www,所以我们
2017-03-14 11:08:28 1481
原创 人工智能自动代码生成3---数据库获取代码实现1
我们先从最简单的自动代码生成场景开始,先用不怎么智能的方法来实现这些基本功能。我们在这一节中,将使用Java中的JDBC技术,实现对数据库内容的增删改查操作,同时使用PHP中的Mysqli技术,实现同样的功能,通过这个具体的实例,让大家感觉一下,实际中的代码生成,究竟可以实现什么功能。我们在具体讲数据库获取代码生成之前,我们先来熟悉一下Jinja2的语法知识。我们以Jinja2应用的典型场景为例,
2017-03-09 11:05:24 4080 1
原创 人工智能自动代码生成2---环境搭建
在进行具体的开发之前,我们需要选择具体采用的实现技术,并搭建开发环境。我们在这里选择Python 3.x,因为我们会将人工智能、机器学习的算法应用到代码生成中,而在人工智能和机器学习领域,Python无疑是最流行的语言,因此我们选择Python语言有利于我们在后期引入人工智能和机器学习算法。其次是选择开发平台,对于软件开发而言,比较理想的开发平台,当然是Linux系统,例如Ubuntu系统,再有就
2017-03-08 21:26:17 5088
原创 人工智能自动代码生成1---前言
代码自动生成技术的历史非常长,人们采用过各种代码自动生成系统,取得了程度不同的成功。例如各种IDE中的Wizard,可以视为被动式代码生成的成功例子,目前还在各种IDE中广泛存在。在诸如PHP、Python的Web开发中,大量使用的模板技术,如Smarty和Mako,也可以视作主动代码生成的一个成功案例。目前在很多大公司内部,也都或多或少的应用了代码自动生成技术。但是这些成功应用的实例,虽然在各自
2017-03-08 20:41:46 5223 1
原创 微信小程序实战教程1503---生成二维码
在微信小程序中,如果我们可以自己将指定内容生成二维码,出示给别人,将是一个比较有用的功能。但是微信小程序API中,目前暂时还没有这个功能,但是我们可以通过变通的方法,来实现这一功能。本文所提到的方法,是受到这篇博文的启发(http://blog.csdn.net/sinat_17775997/article/details/53608479),但是具体实现细节有些不同,读者可以结合那篇博文以及配套
2017-03-06 10:59:48 26549 1
原创 微信小程序实战教程-闫涛-专题视频课程
介绍微信小程序API,包括页面布局、网络交互、媒体文件、本地缓存、地理位置、WebSocket和传感器技术,后以翼健康为模板,开发一套完整的求医问诊软件。...
2016-09-26 08:44:04 272
原创 深度学习算法实践16---限制性波尔兹曼机(RBM)原理1
我们目前的讨论的神经网络,虽然学习算法不同,但基本上架构还是相同的,就是都是分层网络,即神经元按层进行组织,层内神经元无连接,层间神经元间有连接。我们在这篇博文中,将讨论一种非常不同的神经网络,这类神经网络是由没层次关系的神经元全连接网络进化而来,采用有别于梯度下降算法进行学习的网络。这类网络首先起源于Holpfield网络,这是一种全联接的网络,神经元之前进行全连接,我们可以给这个网络定义一个能
2016-09-21 17:12:21 9408 4
原创 深度学习算法实践15---堆叠去噪自动编码机(SdA)原理及实现
在上一篇博文中,我们讨论了去噪自动编码机(dA),并讨论了Theano框架实现的细节。在本节中,我们将讨论去噪自动编码机(dA)的主要应用,即组成堆叠自动编码机(SdA),我们将以MNIST手写字母识别为例,用堆叠自动编码机(SdA)来解决这一问题。
2016-09-07 06:28:08 10904
原创 深度学习算法实践14---去噪自动编码机(dA)的Theano实现
在明白了去噪自动编码机(dA)的理论之后,在本篇博文中,我们将讨论用Theano来实现一个去噪自动编码机。通过上篇博文的讨论,我们知道去噪自动编码机(dA)工作主要有四步组成:第一步是向原始输入信号中加入随机噪音(使原始信号在某些维度上值为零);第二步是将加入噪音的信号输入网络,经过编码器部分,在中间层生成输入信号的压缩信号;第三步是经过解码器层,在输出层得到输出信号;第四步将输出信号与原始输入信
2016-09-02 11:00:12 5057 1
原创 深度学习算法实践13---去噪自动编码机(Denosing Autoencoder)
截至目前为止,我们所讨论的神经网络技术,感知器模型、BP网络、多层卷积神经网络(CNN),都可以视为前馈神经网络的变形,都会采用信号前向传播,误差反向传播修正连接权值,采用有监督学习方式,解决样本分类问题。在这一篇博文,我们将介绍稍微不同的神经网络架构,即被称为自动编码机(Autoencoder)。与前述我们所讨论的神经网络不同,自动编码器(Autoencoder)属于非监督学习,不需要对训练样本
2016-08-31 17:57:29 16402 3
原创 深度学习算法实践12---卷积神经网络(CNN)实现
在搞清楚卷积神经网络(CNN)的原理之后,在本篇博文中,我们将讨论基于Theano的算法实现技术。我们还将以MNIST手写数字识别为例,创建卷积神经网络(CNN),训练该网络,使识别误差达到1%以内。
2016-08-30 12:50:35 8028
原创 深度学习算法实践11---卷积神经网络(CNN)之卷积操作
卷积神经网络(CNN)主要特性有:稀疏连接和权值共享、卷积操作、池化。在前一篇博文中我们已经讨论了稀疏连接和权值共享,在本篇博文中,我们将介绍卷积操作和池化。正是由于对图像进行卷积操作,卷积神经网络才得以其名,可见卷积操作是其核心。在这篇博文中,我们将讨论卷积操作的实现其及物理含义。
2016-08-29 18:20:48 10831 5
原创 深度学习算法实践10---卷积神经网络(CNN)原理
其实从本篇博文开始,我们才算真正进入深度学习领域。在深度学习领域,已经经过验证的成熟算法,目前主要有深度卷积网络(DNN)和递归网络(RNN),在图像识别、视频识别、语音识别领域取得了巨大的成功,正是由于这些成功,能促成了当前深度学习的大热。与此相对应的,在深度学习研究领域,最热门的是AutoEncoder、RBM、DBN等产生式网络架构,但是这些研究领域,虽然论文比较多,但是重量级应用还没有出现
2016-08-26 14:46:53 22986 5
原创 从王宝强离婚股权之争看国内公司持股平台
近日王宝强离婚新闻可谓出尽风头,除了关注扑朔迷离的婚外情之外,人们对王宝强巨额财产的分割问题也产生了浓厚兴趣。因为依据现有法律,婚内出轨并不能作为少分或不分资产的有力依据,很多人觉得王宝强这回可能要大放血了。但是傻根王宝强并不傻,而且可以说是相当精明,这是因为王宝强未雨绸缪建立了公司持股平台。
2016-08-25 17:48:44 3209 2
原创 深度学习算法实践9---用Theano实现多层前馈网络
我们到目前为止,使用逻辑回归模型已经可以对简单的线性可分问题进行了研究,不仅对MNIST手写数字识别样本集进行了训练和识别,我们还对二维平面上的点是否在y=x这条直线上进行了判断,有了这两个例子,尤其是第二个例子,读者应该可以将逻辑回归模型应用到自己的项目中了。虽然逻辑回归问题不能解决线性不可分问题,但是对于很多线性不可分问题,还是可以找到一个尽量好的超平面,得到令人满意的分类结果。由于逻辑回归算
2016-08-25 17:39:24 3410
原创 深度学习算法实践8---BP算法详解
BP算法是关于误差的反向传播算法,就是从输出层开始,将结果与预期结果相比较,求出误差,然后按照梯度最大下降方向,调整神经元的联接权值,然后依次逐层调整各层之间的连接权值,对于批量学习方式而言,不断重复上述过程,直到误差达到足够小时为止。对于输出层而言,我们可以直接使用在上一篇博文中关于感知器模型的算法,BP算法的难点在于,如何处理隐藏层,因为隐藏层没有正确的输出信息用来计算误差。下面我们将从输出层
2016-08-24 19:06:51 6094
原创 深度学习算法实践7---前向神经网络算法原理
在本文中,我们对感知器模型的算法进行了推导,为我们对多层前馈网络(BP)的误差反向传播算法打下基础。
2016-08-22 18:16:30 6090 3
原创 深度学习算法实践6---逻辑回归算法应用
在上篇博文中,我们介绍了深度学习算法的实现,并且以MNIST手写数字识别为例,验证了该算法的有效性。但是我们学习逻辑回归算法的目的是解决我们的实际问题,而不是学习算法本身。逻辑回归算法在实际中的应用还是很广泛的,例如在医学领域的疾病预测中,我们就可以列出一系疾病相关因素,然后根据某位患者的具体情况,应用逻辑回归算法,判断该患者是否患有某种疾病。当然,逻辑回归算法还是有局限性的,其比较适合于处理线性
2016-08-11 14:45:50 4097
原创 深度学习算法实践5---线性回归算法实现
在学习了基本的Theano的概念之后,我们可以将这些知识用来进行一些简单的应用,在这篇文章中,我们将实现一个简旱的逻辑回归算法,并将该算法用于二维平面上的点是位于y=x之上还是之下。其实,Theano网站的教程中,有一个线性回归的例子,但是那个例子是一个用于手写字符识别的例子,没有给出实际的数据集,非常不直观,而其他例子直接就上MNIST的手写字符识别,由于问题比较复杂,很难有一个直观的认识。因此
2016-08-10 14:11:27 9835
原创 深度学习算法实践4---Theano常用技巧
在上一篇文章中介绍了神经网感知器模型中用到的一些算法,在这篇文章中,将继续介绍这些常用的算法,首先是随机数的生成,因为感知器模型必须用随机数来初始化连接权值,其次是求导数,因为感知器学习算法是,会用到梯度下降算法,涉及到求导问题。在讨论随机数生成算法之前,我们先来讨论一下共享变量,这很像C语言中的静态变量,假设我们要对网站的内容的热度进行统计分析,我们用hottness来表示热度,用visitWe
2016-08-08 13:20:09 2754
原创 深度学习算法实践3---神经网络常用操作实现
在这篇文章中,我们介绍了实现一个神经网络中最简单的感知器模型,我们介绍了Theano中的相关函数,并对其中的关键步聚给出了代码实现,读者可以基于这些代码,参考神经网络教材,实现出一个完整的感知器模型。
2016-08-05 10:46:00 3350
原创 深度学习算法实践2---线性代数和Numpy的使用
使用Theano和Numpy实现一些线性代数的基本操作,如常数与矩阵相乘,标量加法和矩阵乘法。
2016-08-04 14:54:24 3586
原创 深度学习算法实践1---开发环境搭建
本文将在Mac环境下,配置深度学习算法的开发环境,我们会采用python3.x作为开发语言,在深度学习框架方面,没有选择最为流行的TensorFlow,而是在研究者中比较流行的Theano。主要是因为TensorFlow虽然很热,但是将基础理论与框架结合的文档较少,Theano作为教学框架,这方面的资料非常丰富,所以以学习和实现为目的的项目,采用Theano会较大的优势。而我们知道,目前深度学习的应用,大多是试验性质的,因此采用Theano可以在学习深度学习基本理论的同时,动手实验各种算法,对实际项目的帮助
2016-08-03 18:00:47 5450
原创 深度学习在医疗中的应用前景分析
本文简述了深度学习的发展现状,总结了深度学习在医疗领域成功应用的领域,并预测以限制性波尔兹曼机(RBM)为基础的深度信念网络(DBN)在医学诊断中的应用,由于可以促近近期医改中的分级诊疗的发展,将拥有广阔的应用前景。
2016-07-25 11:55:03 20341 1
原创 全栈工场实训13---Android---消息总线机制
本文描述了在Android系统,如果使用异步任务,并且通过消息总线机制,实现消息生产者和消费者的松耦合,同时更高效处理多线程情况。
2015-12-04 14:15:40 2435
原创 最老程序员创业开发实训14---PHP---用户体系数据库设计
重点讨论了用户数据库设计问题,以移动医疗为例,解决了用户替父母、孩子看病,一人对应多个就诊卡,这种复杂情况的处理机制,提出了客户是付费实体,用户是应用的实际使用者,肖费者是实际接受产品和服务的人,用户绑定账户构成客户,用户绑定消费者来使用产品和服务,从而完美的解决了移动医疗领域用户数据库设计的难题。
2015-12-04 13:21:52 2422
原创 最老程序员创业开发实训13---Android---网络请求与异步任务
本文介绍了Android系统下采用异步任务方式进行网络请求,通过Handler机制,实现异步任务与Activity之间的通信,通过Java.net包来实现网络功能调用。通过采用Handler机制,可以实现Activity与异步任务间的松耦合,有利于代码的复用。
2015-12-03 11:37:14 2320 8
原创 随诊医生3---应用介绍页面
在启动MainViewController.viewDisLoad回调方法中,会调用来初始化各个Tab。其中我们将患者Tab设置为主Tab- (void)setupSubviews { _appointScheduleVCV104 = nil; _myPatientsVC = nil; _wzsChatListVCV104 = nil; _mineRootV
2015-09-23 16:42:17 2486
Symbian系统平台相关程序编制技术
2009-08-25
CSDN博客公式自动编号和引用问题?
2018-06-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人