- 博客(77)
- 资源 (25)
- 收藏
- 关注

原创 【经典回顾】Nvidia GPU 上的 CNN 计算速度变迁
笔者从 2012 年初开始接触 GPU 编程,2014 年上半年开始接触 Caffe,可以毫不谦虚地说是“一天天看着 Nvidia GPU 和 Caffe 长大的”。Nvidia GPU 架构经历了 Fermi、Kepler、Maxwell、Pascal(都是著名物理学家:特斯拉、费米、开普勒、麦克斯韦、帕斯卡、还未发布的 Volta 伏打……),硬件版本号从 1.x 到现在的 6.x,CUDA ...
2017-03-11 23:16:17
10533
1

原创 Nvidia Pascal GPU 架构详解
本文作于 2016/12/25,作者卜居。写在前面:本文假定读者有一定 CUDA 基础。如果你对 GPU, sm_60/sm_61,CUDA 这些名词感到陌生,可以看我之前写的博客《CUDA 从入门到精通》。 1. 前言Nvidia 在今年的 GTC( GPU Technology Conference ) 上高调宣布了 Pascal 架构——专门针对每瓦性能优化的新架构,采用 16n...
2016-12-25 17:44:49
42695
5
原创 《深度学习:21 天实战 Caffe》资源已上传至码云、github
百度网盘已弃用。随书资源已经放在码云和 github,方便国内外朋友下载。码云:https://gitee.com/yongkezhao/PracticeCaffeIn21Daysgithub:https://github.com/zhaoyongke/Caffe21Days...
2018-04-19 06:58:05
6091
7
原创 用 Keynote 绘制 CNN 模型示意图
在论文中经常看到一些 CNN 模型示意图,例如下面这个经典的 LeNet-5 :很多写论文的同学会问,该怎么画这些图?常用的绘图工具例如 Visio 肯定是可以的,用熟了几乎可以绘制任何需要的图。可惜我用的 Mac,自带的 Office 巨难用而且充满 bug,常常莫名其妙地关闭导致一些工作前功尽弃。还好发现了 Keynote ,除了做 PPT 之外发现绘图也是相当炫酷。以上面的图为例,徒手画了几
2016-12-22 10:39:44
11675
1
原创 【深度学习:21 天实战 Caffe】Docker 镜像更新
百度网盘已弃用。随书资源已经放在码云和 github,方便国内外朋友下载。码云:https://gitee.com/yongkezhao/PracticeCaffeIn21Daysgithub:https://github.com/zhaoyongke/Caffe21Days----------------------------------------------------------不少读者...
2016-11-15 20:30:17
8198
原创 【深度学习:21 天实战 Caffe】课后习题参考答案
百度网盘已弃用。随书资源已经放在码云和 github,方便国内外朋友下载。码云:https://gitee.com/yongkezhao/PracticeCaffeIn21Daysgithub:https://github.com/zhaoyongke/Caffe21Days-------------------------------------------------------自出版以来收到...
2016-10-16 21:31:27
11856
原创 【深夜福利】Caffe 增加自定义 Layer 及其 ProtoBuffer 参数
在飞驰的列车上,无法入眠。外面阴雨绵绵,思绪被拉扯到天边。翻看之前聊天,想起还欠一个读者一篇博客。于是花了点时间整理一下之前学习 Caffe 时增加自定义 Layer 及自定义 ProtoBuffer 参数的简单例程,希望对初学者有借鉴意义。博客内容基于新书《深度学习:21 天实战 Caffe》,书中课后习题答案欢迎读者留言讨论。以下进入正文。在使用 Caffe 过程中经常会有这样的需求:已有 L
2016-10-02 03:17:06
18604
12
原创 我的 UNIX/Linux 学习笔记
收拾屋子时翻到一个皱皱的笔记本,封面是这样的:嗯,高数,是大一时的笔记本。咦,操作系统,难道?翻开,从前向后看,稚气未脱的笔迹映入眼帘。居然是2008年的笔记。隐约记得那个火热的夏天,我在自习室复习高数备考,楼道里传来一声吼:放假啦~高数不考啦~ 跟导员沟通后了解是奥运会的缘故,学校提前放假,所有考试延期到开学后。如果这篇博客只是让大家回顾下高数,那估计很多朋友立刻失去兴趣了。其实不然,那个假期,...
2016-09-13 16:37:04
4672
原创 2016,感动,前行
【关于 2016】不论是否愿意接受,2016 已经过去一半。对我而言,2016 上半年,改变了很多习惯,收获了很多感动。感谢读者的支持,感谢朋友的帮助和理解,感谢昨天努力的自己。前行的道路一定会更加坎坷。心怀感动,无惧艰辛。【关于新书】以目前已经大量用于线上系统的深度学习框架Caffe为例,由浅入深,从 Caffe 的配置、部署、使用开始学习,通过阅读 Caffe 源码理解其精髓,加强对深度学习理...
2016-07-12 13:35:36
8313
6
原创 TensorFlow 从入门到精通(八):TensorFlow tf.nn.conv2d 一路追查
读者可能还记得本系列博客(二)和(六)中 tf.nn 模块,其中最关心的是 conv2d 这个函数。首先将博客(二) MNIST 例程中 convolutional.py 关键源码列出: def model(data, train=False): """The Model definition.""" # 2D convolution, with 'SAME' p
2016-06-08 13:13:55
37427
8
原创 TensorFlow 从入门到精通(七):TensorFlow 运行原理
通过几个例程,我们逐渐对 TensorFlow 建立了感性认识。本文将进一步从内在原理进行深入理解,进而为阅读源码打好基础。1. 编程模型TensorFlow 计算被抽象为包括若干节点的有向图。如下图所示例子:对应的 TensorFlow Python 代码如下:import tensorflow as tfb = tf.Variable(tf.zeros([100]
2016-06-08 12:47:39
23465
原创 TensorFlow 从入门到精通(六):tensorflow.nn 详解
看过前面的例子,会发现实现深度神经网络需要使用 tensorflow.nn 这个核心模块。我们通过源码来一探究竟。# Copyright 2015 Google Inc. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this fil
2016-05-23 14:30:06
72209
2
原创 TensorFlow 从入门到精通(五):使用 TensorFlow 实现 RNN
# Copyright 2015 Google Inc. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtai
2016-05-22 23:24:43
35080
1
原创 TensorFlow 从入门到精通(四):CIFAR10 多 GPU 版本例程源码分析
# Copyright 2015 Google Inc. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtai
2016-05-22 23:18:13
17306
原创 TensorFlow 从入门到精通(三):ImageNet 例程源码分析
# Copyright 2015 Google Inc. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtai
2016-05-22 23:17:04
23613
1
原创 TensorFlow 从入门到精通(一):安装和使用
安装过程PIP 安装安装 PIP安装 TensorFlowPIP 安装的优缺点源码编译安装下载源码安装 Bazel配置编译源码安装的优缺点Docker 镜像安装官方镜像创建 Docker 用户组启动 Docker 容器Docker 镜像安装的优缺点使用过程K40 上运行输出M40 上运行输出GTX1080 上运行输出P40 上输出注意事项安装过程目前较为稳定
2016-05-22 22:18:44
92134
4
原创 Caffe + CUDNN V5
在今年 GTC 上,NVIDIA 推出的 NVIDIA Deep Learning SDK 中,cuDNN 赫然在列。与之比肩的还有 DIGITS, cuBLAS, cuSPARSE, NCCL 等。从 2014 年推出 第一个版本,到如今 cuDNN 已经连续发布 5 个版本。目前 cuDNN v5 的最新特性有:(1) 支持递归神经网络( LSTM / GRU / RNN );(2) cudn...
2016-04-15 18:05:57
17689
3
原创 【方法论】从入门到精通是怎样一种体验
伟大的教育家孔子先生说过,学习是件快乐的事情。怹(tan1)老人家把学习分成了两个过程“学”和“习”,先学后习。笔者不才,从入门到精通这个词怕也是被玩坏了,忝列其中的有两三个系列文章。其实写了的内容不一定真的精通,精通的地方不一定写得出来。宗旨是把门外的围观群众带进坑。收。我们知道,现实世界的知识点是分型网状结构。一个细分领域内部知识点呈网状向外展开,与其他
2016-04-12 20:20:45
4772
原创 Mac下安装Caffe
2016-11-14 更新:一些读者反映了新版 Caffe 在 Mac 下编译时找不到 cblas.h 这个问题,始吾弗信,今亲测也发现了这个问题,特别记录下解决方法。罪魁祸首就是 Makefile Line 361~399:# BLAS configuration (default = ATLAS)BLAS ?= atlasifeq ($(BLAS), mkl) # MKL LIBRAR...
2015-11-26 13:49:31
4009
3
原创 在MATLAB下调试Caffe
Caffe本身是C++、CUDA语言编写的。在调试模型、参数时,根据运行log、snapshot很难实时反馈当前训练的权值情况,也难以捕捉算法存在的bug。MATLAB则是非常适合算法设计、快速迭代的利器,只需要做少量工作就能编写出复杂的算法,调试非常方便,位于workspace中的变量随时都能打印,无论是一维、二维还是三维数据,都能直观显示,从而有利于定位算法设计问题,减少调试时间。Caffe中...
2015-10-28 22:32:18
12857
翻译 优化基于FPGA的深度卷积神经网络的加速器设计
英文论文链接:http://cadlab.cs.ucla.edu/~cong/slides/fpga2015_chen.pdf翻译:卜居转载请注明出处:http://blog.youkuaiyun.com/kkk584520/article/details/47450159【0. 摘要】CNN已经广泛用于图像识别,因为它能模仿生物视觉神经的行为获得很高识别准确率。最近,基于深度学习算法的现代应用高速增长进一步...
2015-08-27 08:16:24
34094
11
翻译 使用专用硬件加速深度卷积神经网络
英文论文链接:http://research.microsoft.com/apps/pubs/default.aspx?id=240715翻译:卜居转载请注明出处:http://blog.youkuaiyun.com/kkk584520/article/details/47711755【摘要】最近在多层卷积神经网络的突破导致了识别任务(如大量图片分类和自动语音识别)准确率的大幅提升【1】。这些多层神经网络很大...
2015-08-26 07:11:30
11572
2
翻译 加速器一致性接口
Zynq PS上的加速器一致性接口(Accelerator Coherency Port, ACP)是一个兼容AXI3的64位从机接口,连接到SCU(Snoop Control Unit),为PL提供异步缓存一致性直接访问PS的入口。处理器可以标记ACP上的传输为一致性或非一致性。PL端的AXI主机通过ARUSERS[1:0]指示是否为一致性读传输,通过AWUSERS[1:0]指示写传
2015-08-08 16:37:54
10468
1
原创 SDSoC使用体验
Xilinx 7月20号发布了SDSoC 2015.2软件,这是具有里程碑意义的FPGA(或者更准确说是ARM + FPGA SoC系统)集成开发工具,加快了应用发布的速度。直接通过网页从官网下载速度超慢而且容易中断,尝试了几次不成功,于是改用阿里云主机下载,这个速度超快(有时能达到1MB/s),然后从云主机通过OSS方式下载到本地,解压安装(系统为Windows8 64bit),安装
2015-08-03 01:12:54
20679
1
原创 Altera OpenCL SDK与Xilinx SDAccel的使用对比
出于工作需求,申请了这两家的高级语言综合工具,对典型算法进行了实现和评估。简要谈谈使用体验。1. Altera OpenCL SDK首先需要安装Quartus(13.1版本以上)和配套的SoC EDS,分别申请两个license,一个用于OpenCL SDK,一个用于SoCEDS,缺一不可。然后需要有实现平台,我用的是DE1-SoC开发板。该平台提供了Ope
2015-04-16 15:35:05
12444
26
原创 cuda-convnet2与caffe对比
出于对性能和多GPU训练CNN的考虑,这段时间一直在研究cuda-convnet2。搜了下,网上居然一篇像样的研究cuda-convnet2 代码的文章都找不到,看来假期有的忙了。Caffe作者贾扬清也在一些场合表达了对Convnet2作者Alex的仰慕之情,可见两个CNN实现的差距。Caffe比较符合大众的口味,而convnet2符合GPU发烧友的追求。convnet2代码风格不如Caffe那样...
2015-02-11 11:50:31
7413
原创 Caffe源码导读(7):LRN层的实现
LRN全称为Local Response Normalization,即局部响应归一化层,具体实现在CAFFE_ROOT/src/caffe/layers/lrn_layer.cpp和同一目录下lrn_layer.cu中。该层需要参数有:norm_region: 选择对相邻通道间归一化还是通道内空间区域归一化,默认为ACROSS_CHANNELS,即通道间归一化;local_size:两种表示(1...
2014-12-19 22:47:06
27091
3
翻译 NESASM教程——第十三天——背景
【简介】你应该知道什么是背景,它就是静态图片,主角在其间穿梭。背景不难做,但缺少用于NES的背景制作工具确实是个头疼的问题。【制作背景】在Tile Layer Pro中打开你的"our.bkg",绘制一些瓷砖,然后在纸上绘制一个用瓷砖编号排列的地图。注意瓷砖编号从0开始。假设你的Tile Layer Pro每行有16个瓷砖,那么它们的编号排列如下: $0 $1 $2 $3
2014-12-06 15:27:21
2072
1
翻译 NESASM教程——第十二天——VBlank和中断
【VBlank?】如果你不知道什么是VBlank, 那么假装我给了你一条鳟鱼;如果你知道什么是VBlank,那么假装我给了你一条鳟鱼;如果你不确定一条鳟鱼和NES有什么关系,那么假装我给了你一条鳟鱼;既然我们房间里有一股想象中的鱼臭味,那么让我们学习更好的方式来与VBlank同步。【我们怎么用它?】首先我们有个标签,比如VBlank_Routine,无哦一我们把它放在段1的
2014-12-06 14:51:15
2527
2
翻译 NESASM教程——第十一天——JSR指令
【JSR?】JSR代表Jump to SubRoutine,跳转到子程序,作用就是,嗯,跳转到子程序。JSR代表Jump to SubRoutine,跳转到子程序,作用就是,嗯,跳转到子程序。【我们怎么用它?】我们用它时只需要给出我们想跳转到的标签即可。例如:我们用它时只需要给出我们想跳转到的标签即可。例如: jsr OurSub ; 主程序OurSub: ; 子程序 ;
2014-12-06 14:35:25
5501
翻译 NESASM教程——第十天——主角DMA
这是整个系列的第十篇,用非常简洁的语言描述了怎样实现DMA传输,释放CPU的指令时间来做更多的事情。程序优化是每个程序猿都应具备的素质。
2014-12-06 14:15:14
2085
原创 Caffe代码导读(5):对数据集进行Testing
上一篇介绍了如何准备数据集,做好准备之后我们先看怎样对训练好的模型进行Testing。先用手写体识别例子,MNIST是数据集(包括训练数据和测试数据),深度学习模型采用LeNet(具体介绍见http://yann.lecun.com/exdb/lenet/),由Yann LeCun教授提出。如果你编译好了Caffe,那么在CAFFE_ROOT下运行如下命令:$ ./build/tools/caff...
2014-12-03 12:21:58
20783
3
原创 Caffe代码导读(0):路线图
【Caffe是什么?】Caffe是一个深度学习框架,以代码整洁、可读性强、运行速度快著称。代码地址为:https://github.com/BVLC/caffe【博客目的】从接触Caffe、编译运行、阅读代码、修改代码一路走来,学习到不少内容,包括深度学习理论,卷积神经网络算法实现,数学库MKL,计算机视觉库OpenCV,C++模板类使用,CUDA程序编写……本博客目的是为初学者清除代码阅读中的障...
2014-12-02 17:38:07
16927
13
原创 Caffe代码导读(4):数据集准备
Caffe上面有两个比较简单的例子:MNIST和CIFAR-10,前者是用于手写数字识别的,后者用于小图片分类。这两个数据集可以在Caffe源码框架中用脚本(CAFFE_ROOT/data/mnist/get_mnist.sh和CAFFE_ROOT/data/cifar10/get_cifar10.sh)下载,如下图所示:$ ./get_cifar10.shDownloading...--20...
2014-12-01 17:57:17
7872
SDSoC第一个工程
2015-08-08
ZED Board实现AXI-ACP通信例子
2015-08-08
ZED Board AXI-HP通信例子
2015-08-08
ZED Board上编译好的OpenCV依赖库
2014-12-04
ZED-Board从入门到精通系列(六)——Vivado+OpenRISC建立工程时修改过的源码
2014-01-26
实验例程:ZED-Board从入门到精通(三):从传统ARM开发到PS开发的转变
2013-08-16
资源:ZED-Board从入门到精通(一):ZYNQ结构简介
2013-08-10
毕业设计:代码
2011-10-13
毕业设计TMS320VC5509板子原理图
2011-10-13
正式发布:TMS320VC5509A上的无需CSL库的USB底层程序!
2011-05-13
数字通信原理仿真——2PSK调制仿真
2010-07-16
PCB设计终极目标---封装,布局,走线,覆铜
2010-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人