神经网络的训练算法,目前基本上是以Backpropagation (BP) 反向传播为主(加上一些变化),NN的训练是在1986年被提出,但实际上,BP 已经在不同领域中被重复发明了数十次了(参见 Griewank (2010)[1]).更加一般性且与应用场景独立的名称叫做:反向微分 (reverse-mode differentiation).本文是看了资料[2]中的介绍,写的蛮好,自己记录一下,方便理解. 从本质上看,BP 是一种快速求导的技术,可以作为一种不单单用在深度学习中并且可以胜任大…
[转载]三十分钟理解:线性插值,双线性插值Bilinear Interpolation算法 来源:https://blog.csdn.net/xbinworld/article/details/65660665 这篇文章讲的很好,我就不复制粘贴了,想看的同学到原文看就好了…
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 双调排序是data-independent的排序, 即比较顺序与数据无关的排序方法, 特别适合做并行计算,例如用GPU.fpga来计算. 1.双调序列 在了解双调排序算法之前,我们先来看看什么是双调序列. 双调序列是一个先单调递增后单调递减(或者先单调递减后单调递增)的序列. 2.Batcher定理 将任意一个长为2n的双调序列A分…
线性插值 先讲一下线性插值:已知数据 (x0, y0) 与 (x1, y1),要计算 [x0, x1] 区间内某一位置 x 在直线上的y值(反过来也是一样,略): y−y0x−x0=y1−y0x1−x0 y=x1−xx1−x0y0+x−x0x1−x0y1 上面比较好理解吧,仔细看就是用x和x0,x1的距离作为一个权重,用于y0和y1的加权.双线性插值本质上就是在两个方向上做线性插值. 双线性插值 在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值…
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 深度学习最大的贡献,个人认为就是表征学习(representation learning),通过端到端的训练,发现更好的features,而后面用于分类(或其他任务)的输出function,往往也只是普通的softmax(或者其他一些经典而又简单的方法)而已,所以,只要特征足够好,分类函数本身并不需要复杂--博主自己在做researc…
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 纳什均衡(或者纳什平衡),Nash equilibrium ,又称为非合作博弈均衡,是博弈论的一个重要策略组合,以约翰·纳什命名. 约翰·纳什,生于1928年6月13日.著名经济学家.博弈论创始人.<美丽心灵>男主角原型.前麻省理工学院助教,后任普林斯顿大学数学系教授,主要研究博弈论.微分几何学和偏微分方程.由于他与另外两位数学家(…
Android | 只要三十分钟就可以在手机上开发一个微笑抓拍神器!!! 前言 前段时间Richard Yu在发布会上给大家介绍了华为HMS Core4.0,回顾发布会信息请戳: 华为面向全球发布HMS Core 4.0意味着什么? 其中有一个重点被介绍的服务,机器学习服务(Machine Learning Kit 简称 MLKit). 那机器学习服务能干什么呢?能帮助开发者解决应用开发过程中的哪些问题? 今天就抛砖引玉一下,以人脸检测为例,给大家出一个实战小样例,让大家感受下机器学习服务所提供…
转自http://net.pku.edu.cn/~yhf/UsingSTL.htm 三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:karymay@163.net STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确…
这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:karymay@163.net STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集…
转载自: http://net.pku.edu.cn/~yhf/UsingSTL.htm 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:karymay@163.net STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变…
三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:karymay@163.net STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它…
MindSpore技术理解(上) 引言 深度学习研究和应用在近几十年得到了爆炸式的发展,掀起了人工智能的第三次浪潮,并且在图像识别.语音识别与合成.无人驾驶.机器视觉等方面取得了巨大的成功.这也对算法的应用以及依赖的框架有了更高级的要求.深度学习框架的不断发展使得在大型数据集上训练神经网络模型时,可以方便地使用大量的计算资源. 深度学习是使用多层结构,从原始数据中自动学习并提取高层次特征的一类机器学习算法.通常,从原始数据中提取高层次.抽象的特征是非常困难的.目前有两种主流的深度学习框架:一种是…
理解 Android 上的安全性 http://www.ibm.com/developerworks/cn/xml/x-androidsecurity/ 利用沙箱.应用程序签名和权限增强应用程序安全性 C. Enrique Ortiz, 开发人员兼作家, About Mobility Weblog C. Enrique Ortiz 是一位经验丰富的移动技术专家.开发人员和作家.他在 About Mobility 上撰写博客,他是 Austin chapter of MobileMonday 的创…
基于TensorRT的BERT实时自然语言理解(上) 大规模语言模型(LSLMs)如BERT.GPT-2和XL-Net为许多自然语言理解(NLU)任务带来了最先进的精准飞跃.自2018年10月发布以来,BERT1(来自Transformer的双向编码器表示)仍然是最流行的语言模型之一,并且在编写时仍能提供最先进的精准. BERT为NLU任务的准确性提供了一个飞跃,使得基于语言的高质量服务在许多行业的公司都能达到.要在生产中使用模型,除了精准之外,还需要考虑延迟等因素,这些因素会影响最终用户对服务…
深度学习课程笔记(三)Backpropagation 反向传播算法 2017.10.06  材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html 反向传播算法这里是用到 chain rule(链式法则)的,如下图所示: 这个应该没什么问题.大家都学过的. 我们知道总的loss 是由各个小的 loss 组合得到的,那么我们在求解 Loss 对每一个参数的微分的时候,只要对每一个 loss 都这么算就可以了.那么我们以后的例子都是以…
一.背景 ​ 最近,Docker技术真是一片火热,它的出现也弥补了虚拟机资源消耗过高的问题,直接让虚拟化技术有了质的飞跃.那么本文我们来聊一聊Docker,和大家一起认识Docker,简单入门Docker. 二.虚拟化技术简介和发展 1. 阶段一:无虚拟化技术 众所周知,在虚拟化技术出现之前,我们依靠扩展物理机的方式来扩展我们的应用,这个阶段很痛苦,也有很多的缺点,比如: Capex费用昂贵 Go to Product速度极其慢 系统可移植行极低 资源利用率极低 2. 阶段二:基于Hypervi…
一.背景 ​ 最近,Docker技术真是一片火热,它的出现也弥补了虚拟机资源消耗过高的问题,直接让虚拟化技术有了质的飞跃.那么本文我们来聊一聊Docker,和大家一起认识Docker,简单入门Docker. 二.虚拟化技术简介和发展 1. 阶段一:无虚拟化技术 众所周知,在虚拟化技术出现之前,我们依靠扩展物理机的方式来扩展我们的应用,这个阶段很痛苦,也有很多的缺点,比如: Capex费用昂贵 Go to Product速度极其慢 系统可移植行极低 资源利用率极低 2. 阶段二:基于Hypervi…
在PyTorch中计算图的特点可总结如下: autograd根据用户对variable的操作构建其计算图.对变量的操作抽象为Function. 对于那些不是任何函数(Function)的输出,由用户创建的节点称为叶子节点,叶子节点的grad_fn为None.叶子节点中需要求导的variable,具有AccumulateGrad标识,因其梯度是累加的. variable默认是不需要求导的,即requires_grad属性默认为False,如果某一个节点requires_grad被设置为True,那…
本篇接着讲解RDD的API,讲解那些不是很容易理解的API,同时本篇文章还将展示如何将外部的函数引入到RDD的API里使用,最后通过对RDD的API深入学习,我们还讲讲一些和RDD开发相关的scala语法. 1)  aggregate(zeroValue)(seqOp,combOp)  该函数的功能和reduce函数一样,也是对数据进行聚合操作,不过aggregate可以返回和原RDD不同的数据类型,使用时候还要提供初始值. 我们来看看下面的用法,代码如下: val rddInt: RDD[In…
无论安装什么版本的oracle,在安装之前,都需要配置 /etc/pam.d/login   /etc/profile   /etc/security/limits.conf这三个文件 那这三个文件究竟是做什么用的呢?答案就是设置对oracle用户的shell limits.下面就仔细分析一下这几个文件 首先需要编辑/etc/security/limits.conf文件(用户限制配置文件) oracle soft nproc 2047 oracle hard nproc 16384 oracle…
这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约会持续1个月左右. 第1条:考虑用静态工厂方法代替构造器 通常情况下我们会利用类的构造器对其进行实例化,这似乎毫无疑问.但“静态工厂方法”也需要引起我们的高度注意. 什么是“静态工厂方法”?这不同于设计模式中的工厂方法,我们可以理解它为“在一个类中用一个静态方法来返回这个类的实例”,例如: public st…
菜鸟拙见,望请纠正(首先:推荐一本书[链接:https://pan.baidu.com/s/15I062n5LPYtRmueAAUFuFA 密码:kyo1]) 一:JVM体系概述 1:JVM是运行在操作系统之上的,他与硬件没有直接的交互. 二:JVM内存结构 Java虚拟机在运行时,会把内存空间分为若干个区域.Java虚拟机所管理的内存区域分为如下部分:方法区.堆内存.虚拟机栈.本地方法栈.程序计数器. 1.类装载器ClassLoader 负责加载class文件,class文件在文件开头有特定的…
无论安装什么版本的Oracle,在安装之前,都需要配置 /etc/pam.d/login   /etc/profile   /etc/security/limits.conf这三个文件 那这三个文件究竟是做什么用的呢?答案就是设置对oracle用户的shell limits.下面就仔细分析一下这几个文件 首先需要编辑/etc/security/limits.conf文件(用户限制配置文件) oracle soft nproc 2047 oracle hard nproc 16384 oracle…
流方式上传: $post_input = 'php://input'; $save_path = dirname( __FILE__ ); $postdata = file_get_contents( $post_input ); if ( isset( $postdata ) && strlen( $postdata ) > 0 ) { $filename = $save_path . '/' . uniqid() . '.jpg'; $handle = fopen( $filen…
本文大部分内容翻译自我开始学习AWK时看到的一篇英文文章 AWK Tutorial ,觉得对AWK入门非常有帮助,所以对其进行了粗略的翻译,并对其中部分内容进行了删减或者补充,希望能为对AWK感兴趣的小伙伴提供一份快速入门的教程,帮助小伙伴们快速掌握AWK的基本使用方式,当然,我也是刚开始学习AWK,本文在翻译或者补充的过程中肯定会有很多疏漏或者错误,希望大家能够帮忙指正. 本文将会持续修正和更新,最新内容请参考我的 GITHUB 上的 程序猿成长计划 项目,欢迎 Star. 概述 AWK是一门…
http://blog.csdn.net/guolin_blog/article/details/9097463 事实上我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客開始,就零零散散在好多地方使用到了Android事件分发的知识.也有好多朋友问过我各种问题,比方:onTouch和onTouchEvent有什么差别,又该怎样使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用ImageView?…
首先声明这是个人的一点理解,如有不对之处请指正,以下的例子有在官网上看到的,有的是自己写的.还是老规矩最后会附上官网的,如有不明白之处,请查看文档或留言. 既然说Layui,当然要简单的介绍以下什么是layui啊!下面是官方的解释: Layui 是一款采用自身模块规范编写的国产前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用.其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到API的每一处细节都经过精心雕琢,非常适合界面的快速开发.layui还很年轻…
一.背景 上篇文章我们进行了Docker的快速入门,基本命令的讲解,以及简单的实战,那么本篇我们就来实战一个真实的项目,看看怎么在产线上来通过容器技术来运行我们的项目,来达到学会容器间通信以及docker-compose学习以及docker网络模型学习的目的. 二.项目描述 创建Todo应用,功能很简单,实现创建Task关联Task分类,以及更新Task的完成状态的功能. 项目运行后的主界面如下: 三.启动项目 因为是使用git管理的maven java项目,所以需要首先在服务器上安装java.…
摘要: 本文大部分内容翻译自我开始学习AWK时看到的一篇英文文章 AWK Tutorial ,觉得对AWK入门非常有帮助,所以对其进行了粗略的翻译,并对其中部分内容进行了删减或者补充,希望能为对AWK感兴趣的小伙伴提供一份快速入门的教程,帮助小伙伴们快速掌握AWK的基本使用方式,当然,我也是刚开始学习AWK,本文在翻译或者补充的过程中肯定会有很多疏漏或者错误,希望大家能够帮忙指正. 本文大部分内容翻译自我开始学习AWK时看到的一篇英文文章 AWK Tutorial ,觉得对AWK入门非常有帮助,…
基础知识: vue的生命周期: beforeCreate/created. beforeMount/mounted. beforeUpdate/updated. beforeDestory/destoryed vue常用指令: v-for. v-bind(缩写形式 :prop). v-on(缩写形式 @click='sss'). v-if/v-else/v-else-if. v-model. v-once. v-html. v-show- vue自定义组件: Vue.component('com…