自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yan_Joy的博客

真正博客: http://yanjoy.win/

  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 MMdnn:微软模型转换工具

简介深度学习火了,一同热的还有深度学习框架。当然经过了几年的淘汰(比如theano),目前最火的大概有Tensorflow、PyTorch以及Caffe了。他们各有所长,开发时可能会选定一个单独的平台,但是在应用时就需要考虑其他的因素。重新在其他框架上改代码就变得比较麻烦,如果能把模型直接转换好,更重要的是不同平台效果相同,那就会节省很多时间。MMdnn就是这样的一个模型转换工具,而且是微软出品...

2019-06-03 17:13:25 4182 4

原创 Jetson AGX Xavier JetPack 4.2环境配置

Jetson AGX Xavier 去年,NVIDIA在苏州举办了GTC China大会上发布的AI计算平台,主要用于移动端的计算。想法美好,不过配起来环境还是遇到了很多问题,一些是软件,另一些甚至还有硬件。设备需求Jetson AGX Xavier(当然)显示器(两台,一个给host主机,一个给Xavier平台,配套的hdmi线)网线(也要备两根)键鼠(一套就行,主要工作在host上...

2019-04-03 22:11:52 7625 19

原创 ReLeQ:一种自动强化学习的神经网络深度量化方法

ReLeQ:一种自动强化学习的神经网络深度量化方法ReLeQ: An Automatic Reinforcement Learning Approach for Deep Quantization of Neural Networks量化作为压缩的一种重要手段被广泛应用,而位宽和准确率的矛盾也始终存在。目前解决的方法有如CLIP-Q中的贝叶斯优化器,确定位宽。另一个问题是量化值的选取,在L...

2019-02-28 16:46:30 1572

翻译 Distiller:正则化

Regularization正则化在Deep Learning1书中,是这么定义正则化的:“any modification we make to a learning algorithm that is intended to reduce its generalization error, but not its training error.”PyTorch的 优化器使用l2...

2019-01-08 16:25:57 821

翻译 Distiller:量化算法

Quantization Algorithms量化算法注意:对于任何需要量化感知训练的以下方法,请参阅这里,了解如何使用Distiller的机制调用它。基于范围的线性量化(Range-Based Linear Quantization)让我们在此分解使用的术语:线性(Linear): 表示通过乘以数字常数(比例因子)来量化浮点值。基于范围(Range-Based): 意味着为了...

2019-01-08 15:26:30 6114

原创 Distiller:神经网络压缩研究框架

Distiller是由Intel AI Lab维护的基于PyTorch的开源神经网络压缩框架。主要包括:用于集成剪枝(pruning),正则化(regularization)和量化(quantization )算法的框架。一套用于分析和评估压缩性能的工具。现有技术压缩算法的示例实现。这算是目前我发现的最完整的压缩框架了,比较适合科研工作。下面简单说一下安装和使用。NervanaSy...

2019-01-07 17:38:11 5316 17

原创 Tensorflow 静态图的动态收缩

Tensorflow 的静态图机制给一个动态调整区间和mask的网络带来了不少麻烦。问题描述随着训练的进行,扩大区间rrr的范围,并对区间内的权重进行量化操作。一次训练可能要量化多个区间,量化后权重冻结。静态图思路权重冻结这是一个老问题,之前的文章中也有介绍。解决方法还是:def entry_stop_gradients(target, mask): mask = tf.cas...

2019-01-05 21:15:17 778

原创 CLIP-Q:先剪枝后量化的压缩框架

In-parallel pruning-quantizationClipping. 设置两个截止点标量c−c−c^-和c+c+c^+,用超参数ppp来确定,使正参数中(p×100)%(p×100)%(p \times 100)\%的参数小于c+c+c^+,同时使负参数中(p×100)%(p×100)%(p\times100)\%的参数大于c−c−c^-。位于c−c−c^-和c+c+c^+之间...

2018-08-06 15:21:12 2815 2

翻译 PyTorch 0.4 升级指南

4月25日,PyTorch团队正式发布了0.4.0的release版本。这是在与caffe2合并后的首个稳定版本。其中核心的变化有:Tensor/Variable合并零维张量(标量)volatile标志的弃用dtypes,devices和Numpy型Tensor的创建函数写设备无关的代码下面对其中的升级注意的问题进行说明。 原文参考:PyTorch 0.4.0 Migration G

2018-04-26 17:08:00 2395 1

原创 cannot import name 'ReparseException' & tf模型参数提取

Tensorboard ImportError: cannot import name ‘ReparseException’环境:python 3.5.4Tensorflow==1.4.1html5lib==1.0.1错误信息:ImportError: cannot import name 'ReparseException'定位咋:~/anaconda3/...

2018-04-16 19:45:06 863

原创 tf的条件赋值(量化)

在numpy中一行实现的代码,始终不知道如何在tf中快速实现= =问题对于一个任意维度张量a,使其值在0到1之间的值量化到0.5。Numpy# Input:aa[(a>0)&(a<1)] = 0.5这大概是最简单的实现方式吧。TensorFlow而在tf中,每一步操作都需要Tensor实现,那么我所找到的一种方法:greater = a>0less = a<1greater_less = tf

2018-04-08 10:42:56 3203 3

原创 python list 复制拷贝问题

大概python绕不开这个小小的问题。。很简单不过还是记录一下吧。问题my_list = [ ... ]new_list = my_list 这样的操作并不会获得一个my_list的副本,而是会让new_list也“指向”my_list,共享内容。my_list = [ 1 ,2 ,3 ]new_list = my_list new_list[0] = 0print(new_list, my

2018-03-01 21:21:58 3429

原创 center loss 论文学习

center loss框架从网络的的框架来看,center loss的主要工作是下图中的“Discriminative Features”。 普通的网络框架,在反向传播的过程中,根据类别标签,会将不同的类别划分开。如“Separable Features”所示,一开始两种颜色是混杂的,通过改变网络参数,让不同颜色能被分类器分开,就达到了目的。而这个过程中,只对不同类有要求,同一类没有进行约束。

2018-02-27 19:59:21 2059

原创 DeepCompression思考

网上很少有Deepcompress的实现源码,前一段时间使用TensorFlow实现了一下,还是有些问题值得注意。TensorFlow的局限性TensorFlow支持的是一种静态图,当模型的参数确定之后,便无法继续修改。这对于逐阶段、分层的训练带来了一定的困难。具体在本项目中,权重的固定无法在单次模型训练中进行逐层的设置,只能采取一种比较麻烦的方法:量化完某一层后,先保存全局模型权重,然后清空Ten

2018-01-11 20:17:39 1396 9

原创 清华源apt-get update 0%

本来以为是个小问题,结果查了半天没解决= =系统环境:Ubuntu 16.04.3 LTS(基于docker)切换apt为清华源Ubuntu 镜像使用帮助: Ubuntu 的软件源配置文件是/etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

2017-12-28 16:52:36 4899 1

原创 综述论文:当前深度神经网络模型压缩和加速方法速览

A Survey of Model Compression and Acceleration for Deep Neural Networks研究背景在神经网络方面,早在上个世纪末,Yann LeCun等人已经使用神经网络成功识别了邮件上的手写邮编。至于深度学习的概念是由Geoffrey Hinton等人首次提出,而在2012年,Krizhevsky等人采用深度学习算法,以超过第二名以传统人工设计

2017-11-30 08:46:58 3288 1

原创 keras tips&problems

写了一下keras的层,出现了一些问题,值得总结一下~Python中对变量是否为None的判断这个问题出在以下代码段:self.mask = np.zeros(shape)if self.mask == None: passelse: pass直接运行会报错,原因在于对于numpy数组,对None的判断是对于其中元素的,而不是对于mask这个对象的。如果比较相同的对象实例,is总是

2017-11-03 17:19:17 491

原创 CS20SI Operations

CS 20SI: Tensorflow for Deep Learning ResearchFun with TensorBoardgraph 的可视化,语句为tf.summary.FileWriter,将sess的图输出到./graphs。首先在默认图中建立常数与操作,并在session中运行。import tensorflow as tfa = tf.constant(2)b = tf.co

2017-10-20 16:25:39 431

原创 Tensorflow trick 与 细节

前后传播采用不同方式How Can I Define Only the Gradient for a Tensorflow Subgraph? Suppose you want group of ops that behave as f(x) in forward mode, but as g(x) in the backward mode. You implement it ast = g(x)

2017-10-15 22:21:29 856

原创 Keras backens函数

Keras是一个模型级的库,提供了很多高层函数。但它本身无法进行低级操作,如张量相乘、卷积等。因此它需要利用其他的库进行计算,作为后端引擎。除了常用的Tensorflow,还支持Theano(现在停止更新了),CNTK。Backend functionsset_image_data_formatset_image_data_format(data_format)参数:data_format: st

2017-10-11 14:21:58 4532

翻译 10分钟Pandas教程

10 Minutes to pandas10分钟pandas教程对于数据处理分析的新手,花十分钟熟悉pandas很有必要,一起开始吧~第一步要会导入pandas和其好基友们:In [1]: import pandas as pdIn [2]: import numpy as npIn [3]: import matplotlib.pyplot as plt对象创建本节可以具体参考Data Struc

2017-09-26 14:42:23 10733 3

原创 Caffe2 入门教程

Caffe2 概念Caffe2已经发布几个月了,但目前的使用率并不高,相关文档并不完善,与Caffe(1)相比入门较难。本文主要讲解Caffe2的一些概念,由于本人也是新手,仅做参考,欢迎交流。Tutorials: Intro TutorialBlobs and Workspace, Tensors和Caffe1一样,Caffe2也有Blobs,并也代表着内存中的数据块。大多数的blobs中都含有t

2017-09-11 22:53:46 4632 2

原创 深度网络模型压缩DEEP COMPRESSION

DEEP COMPRESSION主要流程:pruning(剪枝)trained quantization(量化训练)Huffman coding(霍夫曼编码)首先通过学习重要的连接来修剪网络;接下来,量化权重以实施权重共享;最后,应用霍夫曼编码。实际效果可以将AlexNet 无准确率损失压缩35倍,240MB到6.9MB,VGG-16压缩49倍,552MB到11.3MB。 Network

2017-07-26 19:29:22 2354

原创 Tensorflow 解决 No module named '_pywrap_tensorflow_internal'

这个问题是我在windows上尝试安装GPU版本时出现的,系统 win10,CUDA 8.0,VS2015 com,cudnn-8.0-windows10-x64-v6.0。 官网上安装指南中Common installation problems也有提到,给出的是STACK OVERFLOW 的解答:On Windows, running “import tensorflow” generate

2017-07-25 18:55:48 27201

原创 小问题: caffe2 安装到自己目录下

caffe2 默认是安装到系统文件中的,如果没有权限会遇到很多问题。 本人环境是基于conda的虚拟环境,方便python包的管理,提前要装好caffe2的依赖环境。 首先是需要更改安装路径:git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2make && cd build export DESTDI

2017-07-23 21:05:08 2493 2

原创 建立个人博客-进阶

0在上一篇文章中,我把建免费个人博客的的步骤简单总结为了三点:申请空间博客框架搭建上传与更新有同学尝试后最大的问题是Github桌面版版本与教程不符。目前最新的版本是Desktop Beta,界面有了较大的变化,操作也可能有所不同。为了简单还是下载稳定版比较好。本篇文章主要针对于域名、解析、主题等进行更深的介绍,帮助大家搭建更个性化的博客。1 属于自己的域名每个人都有名字,这是我们区分他人最

2017-06-18 19:36:00 864

原创 0元3步建博客

0在目前新媒体如微博、公众号盛行的情况下,15年前最热网络平台博客已经很少出现在人们的视野中了。这也是得益于移动应用的快速发展,碎片化时间的增多,让人很难有时间去坐在电脑前完整阅读一篇博客。不过博客也趋向专业化、特色化发展,虽然传播性不强,但其开放性、专一性也往往是其他平台比不上的。本文就简单教大家使用Github+hexo搭建一个个人博客,只需3步,并且是免费的哦~ 1 申请空间网页也需要有一个

2017-06-12 11:15:41 487

原创 Shell 脚本初学

其实这个是因为服务器卡不够用,为了充分占用一块卡的资源,需要写个shell脚本帮忙运行网络= = shell是一种脚本语言(区别于编译语言),在UNIX上基本都通用。在我看来,这个脚本主要并不是用来计算,而是用来管理打杂的。Hello world!第一个程序,还是输出Hello world吧。 首先建立一个脚本文件vim hello.sh进入vim程序,输入:#!/bin/bashecho "

2017-05-04 16:11:35 447

原创 NIPS 2016 Tutorial: Generative Adversarial Networks GAN简介

如果说新手如何快速了解GAN,那么这篇论文tutorial应该会被大家推荐。首先作者牛,Ian Goodfellow就是GAN之父;其次文章详细,不仅有技术,也有背景、思想、技巧。我也同样是一名GAN新手,读了之后理解的并不一定很准确,也希望和大家多交流。 NIPS 2016 Tutorial: Generative Adversarial Networks为什么要学习GAN第一部分首先解答了

2017-04-21 15:59:33 6799

原创 caffe2 安装与介绍

一早发现caffe2的较成熟的release版发布了(the first production-ready release),那么深度学习平台在之后一段时间也是会出现其与tensorflow相互竞争的局面。 从打开这个caffe2的官网就会发现,有了Facebook的支持,连界面也好看多了。不过再仔细看看,觉得又和tensorflow有一丝像,从内到外。Caffe 2 Caffe2Caffe2 中

2017-04-19 15:31:03 35061 4

原创 tf.cond 与 tf.control_dependencies 的控制问题

问题引入在搜索tf.cond的使用方法时,找到了这样的一个问题:运行下面的一段tensorflow代码:pred = tf.constant(True)x = tf.Variable([1])assign_x_2 = tf.assign(x, [2])def update_x_2(): with tf.control_dependencies([assign_x_2]): retu

2017-04-18 15:18:41 7942 2

原创 多任务深度学习论文阅读

Deep Learning Face Representation by Joint Identification-Verification这篇论文主要是针对人脸识别,分为两个任务:face identification taskface verification task前者目的是增大类间间距,即不同人的差距;后者是为了减小类内差距,即相同人在不同环境下的差异。 在网络的设计中,最终生成的

2017-04-11 16:51:10 1803 1

原创 cuda 学习 | GPU的归约、扫描、直方图算法

两种复杂度Step complexity 即步骤复杂度,完成一个工作需要多少步。Work complexity 即工作复杂度,完成工作一共需要的工作量。对于并行计算,由于可以采取多线程的运算,可以对每一步的运算时间进行很大的缩减。但对于整个程序,有时需要分很多步骤,后续步骤需要等待前面的步骤处理完得到结果才能继续执行。因此有时步骤的复杂度反而决定了整个程序运行的时间。Reduce 归约归约

2017-04-05 11:20:12 3436 1

原创 cuda 学习 | GPU硬件与并行通信模式

通信方式通信方式主要以课程截图为主……Map 这是一种一一对应的方式。Gather 多对一的方式。Scatter 一对多的方式。Stencil 模板,多对多的方式。 图中左中为输入,左下为输出,不同颜色为不同线程的读取、输出位置。Transpose 转置操作,改变形状、顺序等。 进行合理的顺序改变在数据读取速度上会提升速度。GPU结构从大到小来说,结构为: Kernel -》 B

2017-03-31 16:32:44 4272 2

原创 cuda 并行计算 | GPU 编程模型

udacity上的课程,有nvidia的工程师上课,比较基础也比较易懂。CUDA程序的特点相比于CPU的单线程串行计算,CUDA程序的多线程对速度提升有很大的作用。 这就是优化时间与优化吞吐量的区别。程序编译后分别在CPU和GPU上运行;CPU是主机(host),GPU是从机(device);各自有各自的存储位置,不能相互访问。GPU不能发起运算,只能相应运算CUDA程序的执行步骤CP

2017-03-30 13:13:45 3450

原创 从零开始配置深度学习环境:ubuntu16.04 cuda opencv caffe 需要的库

有一台空闲的服务器,上面有一块K40的卡,原来的系统进不去了可以拿来搞一搞。。nvidia驱动这一步好像可以跳过,因为之后安装cuda能选择是否安装驱动。 上官网NVIDIA Driver Downloads找自己显卡的型号,看看适合的驱动编号是什么。 之后输入命令:sudo add-apt-repository ppa:graphics-drivers/ppasudo apt-get u

2017-03-29 11:14:17 3369

原创 Mask RCNN 论文阅读

mask rcnn 是对Faster R-CNN的功能上的提升,速度上仍然在200ms(5fps)。Faster R-CNN回顾Faster R-CNN由两个阶段组成。 第一阶段为RPN网络,提出候选对象bounding boxes。第二阶段,本质上是Fast R-CNN,从每个候选框中提取使用RoIPool的特征,并执行分类和边界框回归。 Mask R-CNN特点Mask R-CNN在概念上很简单

2017-03-26 22:12:56 8509 2

转载 Tensorflow 多任务学习

之前在caffe上实现了两个标签的多任务学习,如今换到了tensorflow,也想尝试一下,总的来说也不是很复杂。建立多任务图多任务的一个特点是单个tensor输入(X),多个输出(Y_1,Y_2...)。因此在定义占位符时要定义多个输出。同样也需要有多个损失函数用于分别计算每个任务的损失。具体代码如下:# GRAPH CODE# ============# 导入 Tensorflowimpo

2017-03-15 20:24:27 14852 2

原创 TensorBoard 在1.0 版本后的使用

注意:在阅读本文之前,请务必更新你的浏览器。Chrome大法好! 数据、模型可视化是TensorFlow的一项重要的功能,安装后自带的TensorBoard是一个很强大的工具,但目前的教程大多都停留在TensorFlow 1.0 版本之前,一些函数已经改名无法使用,因此写一篇比较新的使用说明。主要区别如果之前使用过TensorBoard,其实只是换一下函数名就可以了。在Github上新版本说明文档

2017-03-08 15:14:27 10156

翻译 TensorFlow 新手入门

刚装上TensorFlow,还是不太会用,主要去官网还要翻墙太麻烦了。。随手翻一下教程备用初识TensorFlow初期准备:安装好TensorFlow知道如何在Python中编程懂一点数组知识最好了解机器学习(不必要)TensorFLow提供多种APIs,从低级到高级,满足不同使用需求,越高级越容易学习和使用。下面的一些模型都可以用tf.contrib.learn高级API实现。Tenso

2017-03-07 16:35:33 1876

计算机网络自顶向下方法第七版 Computer Networking A Top-Down Approach (7th Edition)

Computer Networking A Top-Down Approach (7th Edition) PDF版高清非影印

2018-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除