DL框架
Duco
只存在于stash的代码
展开
-
PC下通用矩阵乘优化(近30倍性能提升)
通用矩阵乘的十种实现(intel平台)前言在intel平台上对矩阵乘进行优化,主要依靠内存排布(for cache friendly)、SIMD(SSE)、多线程等方法。A,B,C矩阵大小分别为MK,KN,MN。性能数据为M=N=K=1024下循环T次下的平均性能。下面给出公式和示意图,可以对照着理解代码。Cm,n=∑n=1KAm,k∗Bk,nC_{m,n}=\sum_{n=1}^KA_{m,k}*B_{k,n}Cm,n=n=1∑KAm,k∗Bk,nv0.严格按照定义的实现完全按照数学定原创 2020-06-08 22:20:50 · 1373 阅读 · 0 评论 -
voc bbox的xml数据转换成txt格式
代码# -*- coding: utf-8 -*-try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ETimport osdef GetAnnotBoxLoc(AnotPath): tree = ET.ElementTree(...原创 2020-01-09 08:55:14 · 409 阅读 · 0 评论 -
MACE源码解析【GPU内存排布技巧】
前言在移动端推理引擎中,除了一些计算上技巧外,内存排布对效率的影响也是有一定影响的。本篇来浅析一下MACE的opencl模块在内存上有什么讲究,应用了哪些技巧。若内容有误,或者有自己的思考欢迎留言讨论。权重的排布MACE中权重是是由opencl中的image2D存储的(亦有buffer版的kernel),所以需要把四维的filter参数转换到2维上。一般情况下filter默认排布为OIHW,...原创 2019-11-16 10:43:00 · 815 阅读 · 0 评论 -
【caffe】caffe中transform_param中参数的执行顺序
caffe中transform_param有四个选项:scale,mean,mirror,crop_sizetransform_param { scale: 0.00390625 mean_file_size: "examples/cifar10/mean.binaryproto" mirror: 1 # 1表示开启镜像,0表示关闭,也可用ture和false来表示 ...原创 2018-11-07 14:17:34 · 4522 阅读 · 0 评论 -
MACE源码解析【ARM卷积篇(二)】1*1卷积实现
前言本文来解析一下MACE中1*1卷积的实现。1*1卷积在CNN中是比较特殊的一种操作,不再强调领域操作,一般用到1*1卷积有以下几种情况(相互之间不独立) 1.单纯的加强非线性映射,不强调领域CNN的特征提取功能 2.bottleneck结构中进行特征图数量的改变 3.depthWise 卷积中组成部分欢迎补充 本文涉及的源代码文件mace/mace/kernels/arm/...原创 2018-08-29 21:57:13 · 1521 阅读 · 0 评论 -
MACE源码解析【ARM卷积篇(一) 】1*N和N*1卷积实现
MACEMobile AI Compute Engine (MACE) 是一个专为移动端异构计算平台优化的神经网络计算框架,旨在深度神经网络部署在移动端,是一个SoC上的神经网络实现。主要涉及的硬件资源主要包括CPU、GPU、DSP,对应的技术为ARM NEON、OPEN CL、HVX。 项目地址:https://github.com/XiaoMi/mace关于本系列本篇主要解析MA...原创 2018-08-25 11:59:27 · 2853 阅读 · 0 评论 -
在windows环境下使用tensorflow运行openPose
note:$后为命令1.安装vs2015安装镜像下载:https://msdn.itellyou.cn/2.安装anaconda3 windows版本 & 安装tensorflow在本例中使用的cpu版本,GPU版本应该也没问题,最后的版本参数如下:python 3.5.5 tensorflow,1.9.0tensorflow cpu版本的安装可参考 htt...原创 2018-08-09 09:32:42 · 5899 阅读 · 6 评论 -
pytorch0.4.0,win10,python3.6,gpu
pytorch的windows-gpu-cuda80版本,需要翻x墙才能下载。这里提供百度网盘链接避免找梯子的麻烦。链接https://pan.baidu.com/s/1o5ztnNu0NsgBYPIsrwC_Gw 密码: bcr4使用pip install torch-0.4.0-cp36-cp36m-win_amd64参考win10安装pytorch:https:/...原创 2018-06-07 09:23:29 · 973 阅读 · 0 评论 -
如何设置和关闭caffe的日志系统(glog)
前言首先我们知道caffe项目用的日志系统是谷歌的开源日志系统glog。如果你自己构建了一个基于caffe的项目,然后如果你也不知道如何去设置日志系统。那么会发生下面这样的事 在一句warnning后,所有caffe源码中的LOG都会输出到控制台上,正如这句wannring所表达的意思一样,你没用InitGoogleLogging初始化,默认日志全部输出到STDERR(默认为控制台)上。原创 2017-02-10 13:49:49 · 7993 阅读 · 2 评论 -
pytorch 若干小坑
caffe灵活性还是比不上torch,想要快速建立新模型,torch是个不错的选择 #batch size 设置略大段错误自己练手写的lenet和官方的lennet[https://github.com/pytorch/examples/blob/master/mnist/main.py]在CPU中运行时,设置稍微大一点的batch size(8以上),就会出现段错误,而且也没错误栈原创 2017-07-04 20:32:31 · 4865 阅读 · 7 评论 -
Caffe训练和使用时候的当前路径
前言具体的应该说题目是本人遇到的大坑小坑,遇到的都记录一下吧。 本人运行环境:win7 64位+matlab2015rb+vs2013/2012关于配置文件中(prototxt)相对路径的问题这个件事情是需要分开讲的,完全用c++接口,用原始项目编译出来的caffe.exe来进行训练的话,当前目录就是你运行caffe.exe的目录(我假设你已经把caffe.exe的目录放到环境变量里原创 2017-01-26 17:01:47 · 1982 阅读 · 0 评论 -
把Caffe集成到c++项目的流程
前言本来用着MatConvNet挺舒服的,奈何集成到c++的项目中实在是痛苦啊,做成DLL没问题,问题是每次运行都要加载MCR,加载一次起码两分钟逼得我在项目里把CNN部分做成mock,测试其他功能的时候禁掉CNN省的加载搞的我烦心。于是我转向了用c++开发的Caffe的怀抱,当然用的是c++的接口和matlab的接口,py的接口没有用过,毕竟从本科开始接触图像处理都是玩的matlab准备工作本人运原创 2017-01-24 16:31:11 · 4662 阅读 · 2 评论