深度学习
文章平均质量分 82
yuyuelongfly
这个作者很懒,什么都没留下…
展开
-
mmdetection源码解析
配置文件可以分为如下几块:model:说明model结构及其参数backbone\neck\head (loss是在head里配置的)schedule:说明optimizer和learning policydataset:train和test时的transform问题:target在哪里配置?原创 2022-04-12 21:38:35 · 3932 阅读 · 0 评论 -
CNN:模型量化训练和部署
训练后量化Post-training quantization:混合量化--仅量化权重 全整型量化--权重和激活值都进行量化 半精度float16量化--仅量化权重量化感知训练(Quantization-aware training)是一种伪量化的过程,它是在可识别的某些操作内嵌入伪量化节点,用以统计训练时流经该节点数据的最大最小值,便于在转换格式时量化使用并减少精度损失。伪量化节点的意义在于统计流经数据的最大最小值并参与前向传播提升精确度,但其在转换为量化模型后,其工作原理还是与训练..原创 2021-11-04 19:48:27 · 2274 阅读 · 0 评论 -
Pytorch基本操作
tensor是pytorch使用的基本数据结构,可以在GPU上、也可以在CPU上运行。(numpy的ndarray只能在cpu上运行)创建或将数据转化为tensor:torch.tensor(data,dtype,device) #创建tensor, data可以是python list或者np.array, dtype可以是torch.float32, torch.float64,torch.int8等)torch.as_tensor(data, dtype,device) #把data转化原创 2021-07-05 14:36:30 · 911 阅读 · 0 评论 -
CNN:经典Backbone和Block
MobileNets(2017,MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications),主要创新点是使用了depthwise separable convolutions。 Input feature map: FxFxM ,Output feature map: GxGxN的问题。经典的方式是使用N个KxKxM的卷积核,即KxKxM的卷积核的每个channel与FxFxM的feature map.原创 2021-05-22 14:57:19 · 5933 阅读 · 1 评论 -
升级Pytorch版本
在装机配置Pytorch环境的教程中(https://blog.csdn.net/Cxiazaiyu/article/details/81155048),我们使用了Cuda9.0 + CuDNN7.4.2。然后,随着Pytorch的升级,需要匹配更高版本的Cuda。一、升级CudaCuda9.0升级到CUDA10.1 ,官网安装说明:https://docs.nvidia.com/cuda/archive/10.1/cuda-installation-guide-linux/index.html原创 2021-04-11 23:09:49 · 9780 阅读 · 1 评论 -
目标检测Detectron2源码解析
首先讲解trainer类是如何层层抽象,在逐渐继承中添加信息的。tools层脚本train_net.py中为主函数入口,实例化trainer = Trainer(cfg),并调用类的方法进行训练:trainer.train()。class Trainer(DefaultTrainer) 在engine\defaults.py路径下class SimpleTrainer(TrainerBase) 在engine\train_loop.py路径下class TrainerBase 在engi..原创 2020-10-16 20:56:21 · 2936 阅读 · 0 评论 -
自动驾驶视觉感知工程师技能树
一、编程语言基础:C++ & Python编程不需要参加课程,直接“读书-》刷题-》看别人的程序”,如此反复迭代。书不需要多,只需要精,一般不会有人有耐性从头读到尾的,也没有必要从头读到尾,读累了、觉得枯燥了就取刷题。读语法书《C++ Primer》,《Python基础教程Beginning Python From Novice to Professional》 leetcode上刷题实战https://leetcode-cn.com/problemset/all/ 看git..原创 2020-07-05 09:22:31 · 1173 阅读 · 0 评论 -
命令行配置Github\Gitlab工程
准备工作:全局配置:git config --global user.name "YLY"git config --global user.email "yly@163.com"一、本地文件上传到github/gitlab上:1.1 工作流: a) 生成本地repository; b) 更新配置本地repository; c) 本地reposit.........原创 2019-08-15 10:07:54 · 1466 阅读 · 1 评论 -
Onnx-tensorrt详解之nvonnxparser库
Onnx-tensorrt工程提供了所有onnx builtin layer向trtmodel转换的parser代码。Onnx-tensorrt工程链接: https://github.com/onnx/onnx-tensorrt一、nvonnxparser库概览nvonnxparser库的核心代码文件如下:set(IMPORTER_SOURCES NvOnnxParser....原创 2019-07-06 12:38:39 · 8805 阅读 · 2 评论 -
maskrcnn_benchmark工程详解
maskrcnn_benchmark工程的github链接为:https://github.com/facebookresearch/maskrcnn-benchmark一、工程概览该工程文件目录树如下:maskrcnn_benchmark |——tools |——train.net & test_net 分别为训练和测试网络的接...原创 2019-06-08 10:54:41 · 4001 阅读 · 0 评论 -
Pytorch1.1版本pytorch模型转onnx的bug
Bug in pytorch 1.1:/usr/local/lib/python3.5/dist-packages/torch/nn/functional.py:2539: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Ple...原创 2019-06-07 19:19:34 · 6759 阅读 · 7 评论 -
CNN-语义分割Head及自动驾驶应用
一、监督中间过程使训练的权重分布更符合物理意义->提高准确率深网络参数量大于系统的自由度,或多或少地都存在过拟合,因此不同的训练方式可以获得不同的权重分布,而好的权重分布可以提升准确率。那么什么是好的权重分布?对于单纯的端到端的训练,得到的中间层输出的物理意义不强,加强中间层输出的物理意义就可以得到更合理的权重分布。基于这种思想,有两种方法可以加强中间层输出的物理意义。1、采用先训练...原创 2018-08-25 12:13:29 · 1290 阅读 · 0 评论 -
caffe添加自定义层
caffe框架可以完成基本的深度学习操作,但为了拓展功能需要自己定义层,或者将别人定义好的层移植进来。下面以添加双线性插值层(pspnet中自己定义的层)为例说明过程:1、写头文件 interp_layer.hpp , 放在include/caffe/layers文件夹下;定义的格式是标准格式,可参考 https://github.com/BVLC/caffe/wiki/Simple-...原创 2018-08-31 15:01:28 · 1138 阅读 · 0 评论 -
conda虚拟环境操作
利用Anaconda安装了Python3.6,但有些Python2写的老代码不能在python3中跑,可以利用conda创建虚拟环境。创建方法: conda create --name py2 python=2.7 则在anaconda3的文件夹下面的envs文件夹中产生了一个文件夹py2,里面存储这个虚拟环境的需要的包。 使用方法: source activate py2...原创 2018-07-25 20:57:50 · 7541 阅读 · 0 评论 -
Python2升级到Python3 导入模块失败
from modulefather import moduleson功能:在路径sys.path中寻找名为modulefather的模块,导入modulefather模块中的moduleson。sys.path路径包含:当前的工作路径; 环境变量PYTHONPATH指定的路径; pip下载的标准(第三方)包site-paceages的路径; 开发者指定的路径sys.path...原创 2018-07-25 21:03:02 · 1128 阅读 · 0 评论 -
Ubuntu Python2.7和Anaconda Python3.6环境配置
很多时候即需要python2,又需要python3。比如我安装的pytorch环境需要python3,caffe需要python2。建议:用ubuntu自带的python2.7配置python2需要的环境; 用anaconda3配置python3需要的相关环境。通过sudo gedit ~/.bashrc中 PATH是否添加anaconda的路径来决定具体使用哪一个环境(可能电脑重启...原创 2018-08-04 22:48:57 · 1474 阅读 · 0 评论 -
安装编译Caffe-GPU & 升级源码里的cudnn
Caffe原生版本下载地址https://github.com/BVLC/caffe 。后面开发者根据自己需要添加的功能,会在原生caffe文件夹里添加自己的layer,变成衍生版的caffe。一台电脑里可以同时安装多个版本的caffe,如原生caffe, caffe-enet, caffe-segnet等,只需要放在不同的文件夹,分别进行编译即可。卸载只需要删除相应的文件夹即可。具体安装步骤:...原创 2018-08-02 19:37:38 · 1483 阅读 · 0 评论 -
CNN调参
学习率决定了每步权重更新对当前权重的改变程度: ,其中E(w)为我们优化的损失函数,是学习率。学习率太小,更新速度慢;学习率过大,可能跨过最优解。因此,在刚开始训练,距离最优解较远时可以采用稍大的学习率,随着迭代次数增加,在逼近最优解的过...原创 2018-08-19 14:28:53 · 10989 阅读 · 0 评论 -
CNN基础
深度神经网络的性能很大程度上依赖于数据,大多数的数据集是不平衡的。比如自动驾驶的图像语义分割:车道、人行道占了绝大多数的像素,交通灯、行人等占的像素少。神经网络“看到”的道路数据更多,所以倾向于把很多交通灯也识别成道路。为了更准确地识别到这些小物体,可以设置损失函数的权重,为少的数据设置更大的权重,让神经网络不敢认错这些小物体。caffe下的操作示例:layer { name: "l......原创 2018-08-20 21:23:27 · 7305 阅读 · 1 评论 -
深度学习:IoU、Accuracy、Precision、Recall区别
看图和公式,简洁清晰,绝对不会混淆,不多说了。(IoU--交并比;Accuracy--准确率;Precision--精确率;Recall--查全率、召回率)评价神经网络的结果,可以考察以上关键指标。IoU或Accuracy比较直观地给出了综合性能;Precision和Recall常常要放在一起评估神经网络,否则单独把Precision或者Recall做高是非常容易的(通过牺......原创 2018-08-20 22:15:02 · 10294 阅读 · 0 评论 -
Convolution+BatchNorm+Scale模块参数设置 & 融合BatchNorm+Scale层到Convolution层
Convolution+BatchNorm+Scale+Relu的组合模块在卷积后进行归一化,然后在放出非线性Relu层,可以加速训练收敛。但在推理时BatchNorm非常耗时,可以将训练时学习到的BatchNorm+Scale的线性变换参数融合到卷积层,替换原来的Convolution层中weight和bias,实现在不影响准确度的前提下加速预测时间。一、Convolution+BatchN...原创 2018-08-28 13:20:26 · 3774 阅读 · 2 评论 -
caffe常用命令
caffe命令行的常用命令:1、训练:GLOG_logtostderr=0 GLOG_log_dir=/home/yly/ERFNet/weights/snapshots_encoder_finetune/ /home/yly/ENet/caffe-enet/build/tools/caffe train -solver /home/yly/ERFNet/prototxts/erfnet...原创 2018-08-28 15:23:16 · 648 阅读 · 0 评论 -
Cityscapes数据集使用与结果测试评估
一、数据集概览1、数据在官网注册下载,https://www.cityscapes-dataset.com/ ,官网也可以在benchmarks中查看当前流行的神经网络速度和准确率等指标。2、数据预处理和评估结果代码下载:https://github.com/mcordts/cityscapesScripts 原图存放在leftImg8bit文件夹中,精细标注的数据存放在...原创 2018-08-31 12:25:40 · 34219 阅读 · 32 评论 -
深度学习Pytorch/Caffe-GPU环境配置
双系统Ubuntu16.04.06LTS+Nvidia显卡驱动 + Cuda9.0 + CuDNN7.4.2 +Opencv 3.4.6 + Pytorch/Caffe-GPU目录一、安装双系统二、安装显卡驱动三、安装Cuda9.0四、安装CuDNN五、Opencv 3.4.6六、安装Pytorch七、安装Caffe-GPU深度学习环境的搭建比较复杂,重要...原创 2018-07-23 22:50:02 · 2004 阅读 · 1 评论