
深度学习
文章平均质量分 64
库页
这个作者很懒,什么都没留下…
展开
-
大模型怎么落地
担心chatGPT的落地吗,或许需求已经迫不及待等着大模型呢原创 2023-02-24 16:43:50 · 201 阅读 · 0 评论 -
关于chatGPT的思考
关于chatGPT,对工作生涯,生活变化的思考原创 2023-02-14 06:33:01 · 3197 阅读 · 0 评论 -
验证集训练集切分
1.背景最近刚接了一个电池瑕疵检测的任务。标注完数据开始训练,训练到一半的时候,发现一个问题:现场拍摄的电池照片是先拍摄一张后,在翻转一下再次拍摄。这就需要分测试集、训练集的时候不能使用随机的方式来。因为此原因,学习一下常规的思考思路是怎么样的,避免再次犯同样的错误。2. 学习材料[How (and why) to create a good validation set(2017.11.03)][1]3.内容验证集、测试集的目的:验证集valid为了帮助选择模型和超参数。测试集test为了翻译 2021-06-28 15:35:16 · 323 阅读 · 0 评论 -
DQN探索超参
ps:年前买了本深入浅出强化学习的书,也是囫囵的看了一遍,找不到合适的切入点,要么太难;要么太简单,感觉不入手也可。那百度的强化学习打卡营的好处就是有人帮你理清了一遍,再看感觉,‘嗯,我知道你’。话不多述,上主题,今天就是想办法找到一些模型的超参数,看看怎么会更好的结果优化框架:parl 的DQN工具一:optuna那就开始吧……...原创 2020-06-27 09:39:42 · 895 阅读 · 1 评论 -
算法上的创新点大搜罗
背景最近离职在找工作,开始以为介绍下做的工作,然后大家过来评估下,然后可以开心的继续炼丹以及顺便做做工程。然鹅,我发现好多人更关注“遇到了哪些难题,咋解决的”这种情况。被问的我一脸懵逼,自始至终没有太关注这些点,不管怎么说,还是总结一下好了。L2 loss的修改年龄回归,当时试验了许多loss后,发现l2比较好使。但是年龄的测试和训练是不一致的:测试的时候追求的是cs2(年龄差小于2认为是p...原创 2020-02-29 12:16:23 · 3984 阅读 · 0 评论 -
tx2使用说明
背景在T4上运行的工程迁移到tx2上,相同的工程,不同的环境,势必遇到几个坑,遂记之。出现的问题1. python版本可在cmake的时候通过超参数指定,cmake -DPYTHON_EXECUTABLE=/usr/bin/python ..2. openGL对glew等依赖包安装tx2的时候这些以及opencv都是打包安装了的,所以直接试试能不能用就可以,这一点和自行安装系统的...原创 2020-01-10 20:21:48 · 1490 阅读 · 0 评论 -
一文玩转pytorch转onnx-tensorRT ——(B)pytorch转onnx
说明pytorch转onnx全打通,就可以使用onnx的全产业链了。实际上,pytorch转onnx会遇到一些小问题,比如我遇到的upsample,找的资料蛮多的,但是归根结底有效的方法,是升级pytorch1.1到1.2,顺带提一句,更新到pytorch1.2,使用清华源加速到方法sudo pip install torch==1.2.0 torchvision==0.4.0 -f htt...原创 2019-11-15 13:58:27 · 3336 阅读 · 2 评论 -
一文玩转pytorch转onnx-tensorRT ——(C)测试onnx转tensorRT
说明前文讲到了如何在onnx注册自定义层,以便onnx parsing时找到所对应的层。在示例demo前,贴出遇到的问题问题: ONNX and tensorRT: ERROR: Network must have at least one output开始当作正常bug去处理的,找到了一些参考资料:1)既然没有输出,就标记一个输出; 2)input可能出现的问题后来发现上面的方式对...原创 2019-11-15 12:55:29 · 3793 阅读 · 2 评论 -
一文玩转pytorch转onnx-tensorRT ——(A)onnx转tensorRT
说明onnx和tensorRT是分开的,onnx像是prototxt和weight的打包在一起的东西。所以由onnx转到tensorRT下,还需要让onnx能搜索到(或parsing)所对应的层。caffeparsing有注册自定义层的函数,而onnx没有,下面会就onnx-tensorRT的源码详细说到。对于自定义的onnx层,需要修改后重新编译onnx-tensorRT,查到的资料也是这...原创 2019-11-15 11:40:05 · 3577 阅读 · 0 评论 -
一文玩转pytorch转onnx-tensorRT ——(3)测试自定义的tensorRT层
层已经写完了,如何测试呢。可以直接去看下面的代码代码说明:如何编译在开头写出来了,直接用就可以了,当然不是。首先是cub库,它是cuda函数的__share__函数的打包版。我的库放在了/home/user/package/cub-1.8.0下用到了common,是tensorRT的示例文件,我直接搬过来用的,如果路径不对,修改到自己的common路径下上面的common不是必须的...原创 2019-11-15 10:59:52 · 2336 阅读 · 1 评论 -
一文玩转pytorch转onnx-tensorRT ——(2)使用pluginV2分配的显存
说明上文《一文玩转pytorch转onnx-tensorRT ——(1)创建tensorRT层》说到getWorkspaceSize会分配一些显存,和普通的cuda函数不一致的地方也就在这。普通cuda函数需要自行分配显存,作为全局货局部变量。既然此函数分配了工作空间,且看如何调用这些显存吧。直接剧透吧,使用get_next_ptr函数。下面上新鲜热乎的代码,恬不知耻的保留了debug痕迹,...原创 2019-11-15 10:45:24 · 1325 阅读 · 1 评论 -
一文玩转pytorch转onnx-tensorRT ——(1)创建tensorRT层
基本说明对c++,tensorRT提供了一个纯虚类的接口,通过实现类内的虚函数,就可以在tensorRT中运行自定义层。注意nvinfer1::IPluginV2和nvinfer1::IPluginCreator配合使用;nvinfer1::IPlugin和nvinfer1::IPluginFactory。后者是前者的再一次封装,IPluginV2相对于IPlugin来说,基本上一样,多几个函...原创 2019-11-15 10:28:32 · 2651 阅读 · 2 评论 -
物体检测 资料大搜集
物体检测基本知识科普:P-R curve & AP的解释: Object-Detection-MetricsmAP的产生和解释: What is Mean Average Precision?物体检测的代码/开源项目集合物体检测的主流框架 ---- 资料集合:handong1587's githubawesome-object-detectiondeep_lea...原创 2018-09-21 16:46:05 · 320 阅读 · 0 评论 -
ubuntu配置出现的一堆问题求解
服务器一直有安装各种库,以及各种更新。隔了几个月再重新使用caffe的时候,出现了一堆错误,然后清理了一下无用软件sudo apt auto-remove,结果删去了很多有用的软件。几个依赖库不明就里的被删除了???!!!!然后,一不做二不休的态度,干脆就想把cuda、nvidia驱动都给升级了。然后就有了这接连三天的头疼窘迫。不过也搞懂了一些问题,干脆写下来。 首先,cuda和nvi...原创 2018-09-19 20:10:41 · 804 阅读 · 0 评论 -
人脸关键点及检测 开源项目
人脸关键点网络FAN:时间5s DAN:时间1.5s openpose face:效果差 3000FPS:只能看正脸,opencv或dlib中有集成,速度飞快,10ms+ VANface:https://github.com/lsy17096535/face-landmark 据称5ms (轻量化网络) Vanilla CNN: https://github.com/coopara...原创 2018-09-17 20:42:40 · 5550 阅读 · 4 评论 -
模型压缩开源库整理
Tensorflow Lite: mxnet - TVM RPC对接移动设备的框架 EAIDK 搭载了 OPEN AI LAB 的核心 AI 开发平台 AID;和②的目标多少有些类似,将面向移动端的接口全部封装。类似于树莓派、arduino甚至安卓将硬件可编程话,一定程度上的封装后,AI方向的需求也开始被封装了。 mxnet自带量化模块 ncnn腾讯的移动端开源框架:https://git...原创 2018-09-17 19:06:34 · 2789 阅读 · 2 评论 -
dlib初识 c++代码
网站 http://dlib.net/ 这是一个提供机器学习的算法库,比如它提供的深度学习的算法包就特小,速度快。神经网络:这是我见过的比较简洁的网络模型写法、实现,所有的包编译完不到80M。用于人脸检测的模型参数一共十几kb。比如说人脸检测的模型是这么写的:template <long num_filters, typename SUBNET> using con5d ...原创 2018-08-20 17:36:54 · 3054 阅读 · 0 评论 -
face alignment network 相关开源代码
收集一些人脸对齐相关的开源代码,并做简单的比较1. 基于MTCNN的方法[code],是matlab实现的,在sphereface等里面用于数据预处理,速度快,论文时间为2016年2. cmu的openpose:相关的姿态pose、手势为2017年论文;人脸的检测是使用手势的同一套网络,但是数据集是人脸的数据集,比如微软的coco安装a). 需要安装cmake-gui;如需...原创 2018-07-17 17:49:19 · 1096 阅读 · 0 评论 -
dldt安装的问题
1. 背景openCV的dldt模块集成了一系列的神经网络的方法,可以直接部署到intel的硬件“神经棒”上去。鉴于OpenCV一贯的小而精的模型,我们看中它的模型和模型参数,想看看是不是也可以部署到其他框架下。2. dldt的模型下载:opencv的神经网络的一系列的模型可以再github开源项目open_model_zoo看到,根据readme可以下载相对应的模型(xml)和模型参数...原创 2019-03-25 15:28:18 · 284 阅读 · 0 评论 -
mxnet问题整理(二)
在mxnet中需要对conv进行修改,所以遇到了一些问题,选择难理解的问题记下来。1. 修改完conv层函数之后,出现输出结果是null的问题按照以下的方式来就好了class new_conv(nn.Conv2D): def __init__(self, channels, kernel_size, **kwargs): # if isinstance(kernel_siz...原创 2018-07-03 11:13:03 · 715 阅读 · 1 评论 -
caffe中使用自定义python层
今天碰巧用到这个,遇到了一些问题,所以顺便记录下来。直接使用train.sh中的方式,应该是行不通比如如下的方式#!/usr/bin/env shset -e./build/tools/caffe train --solver=/***/adam_solver.prototxt --gpu=1,2,3这样总会提示说 ImportError: No module named pytho...原创 2018-10-23 16:15:08 · 1392 阅读 · 2 评论 -
神经网络调参数总结
收集的神经网络不收敛参考参考这个外文链接主要是一些参数的设置,如何去逐项检查以及如何检查,当然还有为什么要检查包括:正则项、分析结果、预处理、数据归一化、网络内部错误变化可视化是一个重要的方式可以帮你理解网络的特征走向,如tensorboard及变种mxboard之类的可以很好的帮助分析权值的分布状态等。最近还出来tensorspace可能更多维的帮助分析我的经验有些预处...原创 2018-11-14 21:15:11 · 2370 阅读 · 0 评论 -
神经网络的十万个为什么
神经网络学习过程中遇到一堆零零散散的问题,我要看到一个记下一个,看看能有几个1. 池化层的作用? 有一些回答,主要集中在a.降低数据量;b.增加网络对微量旋转的耐受性;还有就是对a的进一步延伸,认为其能够压缩特征。 (参考文献[1],[2])2. 有几种池化层? max pooling , average pooling。[3]还有随机数池化 stochastic pooling,...原创 2017-12-17 19:42:29 · 270 阅读 · 0 评论 -
nividia retinanet使用笔记
deb & run conflicting2.7. Handle Conflicting Installation MethodsUnable to determine the device handle for GPU 0000:B3:00.0:https://blog.youkuaiyun.com/junmuzi/article/details/80707343update-grub...原创 2019-08-07 15:01:53 · 1328 阅读 · 0 评论 -
undefined reference to `nppiWarpAffine_8u_C1R'
npp:NVIDIA Performance Primitives其官方网站里有很多介绍,NPP是重要的一环产品线问题:undefined reference to `nppiWarpAffine_8u_C1R’诸如此类的问题,在题目中的链接里有一些介绍,上面有相应的库介绍。cuda编译的时候默认只有libcudart,其他的库需要显式的写出来,所以需要在make或cmake中显式添加库问题...原创 2019-05-07 14:54:22 · 1366 阅读 · 0 评论 -
pytorch0.4添加自定义cuda层
1. cuda函数的基础类型c或者c++pytorch扩展工具函数时,c或者c++是分开的。基本的命令和g++有很多相似之处。所以,打算使用不同的扩展方式时,需要相应的源码是c或者c++的。不然会出很多乱七八糟的问题。另外,pytorch 的官方网站上能找到完全用c语言写forward和backward的例子,我这里是将核心函数由cuda和c来编写,数据流的处理还是python下写的方式来。...原创 2019-05-14 19:00:40 · 1161 阅读 · 0 评论 -
冻结网络pytorch
冻结pytorch的网络有两种方式1. 冻结方式一:lr=0caffe反正是这么写的,具体方式如下model_params = [{'params': base_params, 'lr': 0}, {'params': new_params, 'lr': cfg.SOLVER.BASE_LR * cfg.SOLVER.LR_MULTIPLE}]...原创 2019-03-26 18:35:35 · 3086 阅读 · 0 评论 -
人脸属性识别数据库和开源项目
数据库可用于研究的数据集关键点检测可用数据库:BioID(1000张 20个关键点),LFPW:(1132 张,29个关键点),AFLW(25993张,21个关键点),COFW:(1852张,每个人脸标定29个关键点),ICCV13/MVFW :(2500张,68个关键点),OCFW: (3837张,68个关键点),300-W :(600张,68个关键点)年龄:FG-NET:(82个人,共1...原创 2019-03-07 20:09:44 · 3144 阅读 · 0 评论 -
pytorch中的梯度更新
背景使用pytorch时,有一个yolov3的bug,我认为涉及到学习率的调整。收集到tencent yolov3和mxnet开源的yolov3,两个优化器中的学习率设置不一样,而且使用GPU数目和batch的更新也不太一样。据此,我简单的了解了下pytorch的权重梯度的更新策略,看看能否一窥究竟。对代码说明共三个实验,分布写在代码中的(一)(二)(三)三个地方。运行实验时注释掉其他两个...原创 2019-02-28 17:53:48 · 4043 阅读 · 1 评论 -
物体检测碎片知识
物体检测碎片归一化系数faster rcnnR-FCN结构的发展two stage的头部结构归一化系数faster rcnnL({pi},{ti})=1Ncls(Lcls(pi,pi∗))+λ1Nreg(Lreg(ti,ti∗)) L(\{p_{i}\},\{t_{i}\}) = \frac{_{1}}{N_{cls}}(L_{cls}(p_{i},p_{i}^{*})) + \lambda...原创 2019-01-27 09:26:36 · 234 阅读 · 0 评论 -
window10下安装caffe
一、预安装的文件:1. 破解版vs2015地址,下面地址包含有破解序列号https://www.cnblogs.com/bwlluck/p/5514424.htmlvs安装时,需要注意勾选一些SDK相关的选项:https://blog.youkuaiyun.com/u012348774/article/details/78711777?locationNum=2&fps=1安装所勾选的SDK出错,可以...原创 2018-06-27 18:25:23 · 4146 阅读 · 0 评论 -
模型压缩之剪枝小综述
现在主流的稀疏化方法:1) han song提出的方法,低于某一阈值的归零,但是这种非结构化的稀疏矩阵现有的库很难处理,需要专门设置。【S. Han, J. Pool, J. Tran, andW. Dally. Learning both weights andconnections for efficient neural network. In NIPS, pages 1135–1...原创 2018-06-20 18:47:30 · 3746 阅读 · 0 评论 -
数据增强 data augmentation
有人称为数据扩充,不过更多按原意翻译为:数据增强(补充:数据增广更准确)数据增强的方法种类一些常见方法,如裁剪/缩放/彩色变换/翻转等,可参考:https://www.cnblogs.com/zhonghuasong/p/7256498.html ,海康威视也有一些数据增强的处理文档,对“裁剪”这种方法的使用更积极一些:https://zhuanlan.zhihu.com/p/232490...原创 2017-11-14 22:19:27 · 28443 阅读 · 0 评论 -
SSD的caffe源码解读 -- 数据增强
SSD 的数据增强对ssd网络识别小物体效果明显(原文Fig6),而且他使用的方法有点特别,所以在此解析一下他的源码。python代码补充一下data augment翻译:叫“数据增广”更好,中科院自动化所的师兄的翻译更准确(一) ssd_pascal.py/examples/ssd/ssd_pascal.py 在此源码中有几个点是涉及到数据预处理的,在此列举如下:#第93行...原创 2017-11-17 22:26:08 · 10320 阅读 · 2 评论 -
怎么实现一个卷积运算
神经网络中的卷积运算具有较快的运算速度,现有的神经网络中所需要的卷积运算已经写的比较方便了,即便要写新的网络层,继承下来这些类也差不多满足所需要的要求。但有的时候不尽然,比如我需要运算一个固定卷积核的卷积运算。下面通过numpy来实现,在贴代码之前,首先先说一下卷积快速运算的逻辑快速的实现卷积运算,是将所需要的卷积核和所卷积核所对应的元素拉伸到一维向量,然后所有需要卷积计算的位置都准备原创 2018-01-26 19:59:58 · 4118 阅读 · 0 评论 -
修改faster rcnn 数据输入,读取wider face
想使用faster rcnn训练脸部识别的数据wider face,就直接clone了faster,接下来需要修改数据读取的函数。faster有很多对外调用的接口,比如/tool/demo.Py 或者/tool/train_net.Py,如何修改可以参考下一个博客:《faster-rcnn 之训练数据是如何准备的:imdb和roidb的产生》。实际上从这两个接口文件,查看作者是怎么调用函数原创 2018-01-05 10:29:30 · 1573 阅读 · 1 评论 -
pytorch 多GPU训练
时间:2018年1月19pytorch多GPU最终还是没搞通,可用的部分是前向计算,back propagation会出错,当时运行通过,也不太确定是如何通过了的。目前是这样,有机会再来补充时间:2018年1月17pytorch支持多GPU训练,官方文档(pytorch 0.30)给了一些说明:pytorch数据并行,但遗憾的是给出的说明并不详细。不过说的还是蛮清楚的,建议使用Data原创 2018-01-25 10:08:09 · 35591 阅读 · 10 评论 -
对象的大小在神经网络中被激活的层次的思考
一 背景神经网络用于物体检测比较成熟,现在的研究开始朝着精细化的分类识别进行。将检测的问题简化一下,变成单个类别的识别检测问题,比如人脸检测。二 问题以faster rcnn为代表的主流物体检测网络表现的很成功,但是速度较慢,对小物体的识别能力有限。后来发展出来的SSD与同时代的YOLO以提高速度为目的。而后,网络的研究发展开始转向精度与速度并行,比如FPN,R原创 2018-01-27 11:13:52 · 535 阅读 · 1 评论 -
pytorch多GPU训练以及多线程加载数据
更正说明:时间 2018/01/23现在我所测试得到的dataParallel只能有效的进行前向传播,不能后向传播。下面的关于后向传播的原因我没有在代码层面进行分析,所以下面的记录部分(前面传播)是正确的。不过可以得出的结论有:Dataparallel不支持自动的后向传播;Variable的grad_fn不能修改;Variable只有叶节点(在pytorch中计算图的倒着来的,叶节点就原创 2018-01-22 20:37:03 · 24725 阅读 · 5 评论 -
安装SSD
这是在别人电脑上安装SSD,出现了一吨的问题,感觉有点意义,就记录了下来。1. SSD下载地址https://github.com/weiliu89/caffe/tree/ssd2. 修改Makefile.config主要修改anaconda3的路径,因为这台电脑使用的这个软件。然后安装github上的说明安装就好了,需要清除重新安装使用命令 make clean。下面说一下遇到的问题。一 错误原创 2017-12-29 12:23:27 · 3483 阅读 · 0 评论