
工具
文章平均质量分 70
*pprp*
GiantPandaCV公众号作者,研究方向automl,nas
展开
-
Notion+Zotero+Notero 联动教程(23年9月更新版)
下载Zotero Connector at https://www.zotero.org/download/connectors。https://arxiv.org/abs/1706.03762 以这篇文章为例,点击右上角插件,保存到资料库。下载Notero at https://github.com/dvanoni/notero/releases。下载Notion at https://www.notion.so/desktop。下载Zotero at https://www.zotero.org/原创 2023-09-15 16:28:34 · 6285 阅读 · 0 评论 -
知识蒸馏综述:代码整理
【GiantPandaCV导语】收集自RepDistiller中的蒸馏方法,尽可能简单解释蒸馏用到的策略,并提供了实现源码。1. KD: Knowledge Distillation全称:Distilling the Knowledge in a Neural Network链接:https://arxiv.org/pdf/1503.02531.pdf发表:NIPS14最经典的,也是明确提出知识蒸馏概念的工作,通过使用带温度的softmax函数来软化教师网络的逻辑层输出作为学生网络的监督信息,q原创 2021-12-13 12:25:55 · 3240 阅读 · 1 评论 -
【环境安装】please confirm that the path of cuda is set to the env LD_LIBRARY_PATH
问题描述在按照官方教程安装完成以后,执行 python -c "import mindspore", 报一下错:[WARNING] ME(9662:140307555661632,MainProcess):2021-10-28-20:46:21.685.307 [mindspore/run_check/_check_version.py:181] Cuda [‘10.1’, ‘11.1’] version(need by mindspore-gpu) is not found, please confi原创 2021-10-28 21:01:48 · 915 阅读 · 0 评论 -
Tmux科研利器-更方便地管理实验
1. 概念解释基础部件是session(会话)每个会话可以创建多个window(窗口)每个窗口可以划分多个pane(窗格)2. 常用命令解释tmux的退出 : ctrl + d 或者 exit命令tmux前缀键:Ctrl+b+x - x=? 的时候是帮助信息(按q退出) - x=d 分离当前session - x=s 列出所有session - x=$ 重命名session - x=n 切换到下一个窗口启动tmux session: tm原创 2021-10-16 10:51:17 · 327 阅读 · 0 评论 -
内外网配置
记录内网默认网关和外网默认网关。ipconfig:内:10.0.0.1外:192.168.42.129查看路由信息route print找到永久路由,一般只有一条0.0.0.0删除默认路由在命令行输入route delete 0.0.0.0注意: 如果有其他路由,都使用route delete 进行删除,删除后使用route print查看结果。添加永久路由先添加默认网关,在命令行输入:route -p add 0.0.0.0 mask 0.0.0.0 192.1.原创 2021-06-16 10:29:15 · 803 阅读 · 0 评论 -
高效管理深度学习实验
【GiantPandaCV导语】这学期参加了一个比赛,有比较大的代码量,在这个过程中暴露出来很多问题。由于实验记录很糟糕,导致结果非常混乱、无法进行有效分析,也没能进行有效的回溯。趁比赛完结,打算重构一下代码,顺便参考一些大型项目的管理方法。本文将总结如何高效、标准化管理深度学习实验。以下总结偏个人,可能不适宜所有项目,仅供参考。1. 目前的管理方法因为有很多需要尝试的想法,但是又按照下图这种时间格式来命名文件夹,保存权重。每次运行尝试的方法只是记录在本子上和有道云笔记上。笔记截图:总体来说,这原创 2021-06-10 09:47:23 · 822 阅读 · 0 评论 -
如何使用logging生成日志
【GiantPandaCV导语】日志对程序执行情况的排查非常重要,通过日志文件,可以快速定位出现的问题。本文将简单介绍使用logging生成日志的方法。logging模块介绍logging是python自带的包,一共有五个level:debug: 查看程序运行的信息,调试过程中需要使用。info: 程序是否如预期执行的信息。warn: 警告信息,但不影响程序执行。error: 出现错误,影响程序执行。critical: 严重错误logging用法import logginglogg原创 2021-06-10 09:12:36 · 626 阅读 · 2 评论 -
Python Yaml配置工具
【GiantPandaCV导语】深度学习调参过程中会遇到很多参数,为了完整保存一个项目的所有配置,推荐使用yaml工具进行配置。简介Yaml是可读的数据序列化语言,常用于配置文件。支持类型有:标量(字符串、证书、浮点)列表关联数组 字典语法特点:大小写敏感缩进表示层级关系列表通过 “-” 表示,字典通过 ":"表示注释使用 “#”安装用命令:pip install pyyaml使用举个例子:name: tosanage: 22skill: name1: co原创 2021-06-09 09:01:19 · 420 阅读 · 0 评论 -
【Pytorch基础】BatchNorm常识梳理与使用
BatchNorm, 批规范化,主要用于解决协方差偏移问题,主要分三部分:计算batch均值和方差规范化仿射affine算法内容如下:需要说明几点:均值和方差是batch的统计特性,pytorch中用running_mean和running_var表示$\gamma 和和和\beta$是可学习的参数,分别是affine中的weight和bias以BatchNorm2d为例,分析其中变量和参数的意义:affine: 仿射的开关,决定是否使用仿射这个过程。affine=Fa原创 2021-05-29 11:04:06 · 1111 阅读 · 0 评论 -
使用LineProfiler找出代码的计算瓶颈
实现同样一个功能,笔者运行需要11秒,而同窗的运行仅需要1秒不到,但是实际实现逻辑是类似的,所以需要使用性能分析工具对瓶颈进行分析。安装命令行安装:pip install line_profiler本地下载后安装:https://www.lfd.uci.edu/~gohlke/pythonlibs/#line_profiler根据平台选择对应whl文件,然后本地安装。修改代码先来一个demo,do_stuff是我们的目标,要测试这个函数每一行的耗时。from line_profi原创 2021-04-12 20:10:20 · 492 阅读 · 0 评论 -
Microsoft NNI入门
【GiantPandaCV导语】Neural Network Intelligence 是一个工具包,可以有效帮助用户设计并调优汲取学习模型的神经网络架构,以及超参数。具有易于使用、可扩展、灵活、高效的特点。本文主要讲NNI基础的概念以及一个训练MNIST的入门教程。本文首发于GiantPandaCV,未经允许,不得转载。1. 概述NNI有以下几个特性:易于使用:可以通过pip进行安装,通过命令行工具查看效果。可扩展:支持不同计算资源,多种计算平台,可以在不同平台并行运行。灵活:NNI内部有超参原创 2021-03-01 18:15:03 · 1002 阅读 · 2 评论 -
【神经网络搜索】神经网络架构国内外发展现状-NAS信息检索
文章目录[1] 信息检索语言[2] 信息检索技术[3] 信息检索工具[4] 信息检索流程[1] 信息检索语言信息检索语言是用于描述信息系统中的信息的内容特征,常见的信息检索语言包括分类语言和主题语言。就神经网络架构搜索这个问题来说,最好选择主题语言,可以通过借助自然语言,更具有直观性和概念唯一性。而主题语言分为关键词语言和纯自然语言。选用关键词语言就要挑选神经网络架构搜索的关键词,表征文献主题内容具有实质意义的词语,不要将冠词、介词、副词、连词作为查询的关键词。[2] 信息检索技术采用布尔逻辑检索原创 2021-02-26 11:11:34 · 2114 阅读 · 0 评论 -
天池热身赛-布匹瑕疵目标检测
1、检测代码代码源自datawhale官方提供baseline: https://github.com/datawhalechina/team-learning-cv/tree/master/DefectDetection数据处理代码都写好了,太感动了 _baseline使用的是yolov5,我的显卡只有一个1080Ti,所以先选择yolov5s进行训练,设置训练50个epoch, 图片大小设置为512x512。这部分内容主要参考了https://blog.youkuaiyun.com/qq_26751117/原创 2021-02-20 23:39:17 · 4368 阅读 · 14 评论 -
docker入门级使用教程
1. Docker是什么简单理解为主要应用在Linux上的虚拟机,后台中常用到。镜像:系统的镜像文件,是一个系统容器:正在运行中的虚拟机tar文件:将镜像直接保存为tar文件,是一个可加载的中间文件。Dockfile: 配置文件,根据其中内容进行build远程仓库:仓库是远端保存好的镜像文件2. 流程本地先拉取一个基础镜像,然后自己需要在本地进行加工成自己的需要的环境,这时候需要把镜像转化成容器操作,配置完自己想要的环境以及编写完必须脚本之后,重新把容器转化成镜像提交到云端,云端根据提交的原创 2021-02-20 23:34:34 · 3157 阅读 · 0 评论 -
Sphinx 快速构建工程文档
文章目录一、 ReStructuredText 语法二、Sphinx使用三、工具一、 ReStructuredText 语法介绍:reStructuredText 是一种易于阅读、所见即所得的纯文本标记语言,常被用于编写行内文档,快速创建简单网页,或者作为独立文档存在。——David Goodgerrst可以转为html,html5,latex,xetex,xml等格式。标题:规定一级目录 ##########规定二级目录 ===========规定三级目录 ----------------原创 2021-02-16 17:34:26 · 371 阅读 · 3 评论 -
Ubuntu16.04 Cuda11.1 Cudnn8.1 Tensorflow2.4 PyTorch1.7 环境配置
未经允许,不得转载文章目录1、环境2、驱动安装3、cuda安装4、cudnn安装5、Tensorflow2.4安装6. PyTorch 1.7 安装1、环境显卡:Gtx 1080Ti系统:Ubuntu16.04并行:cuda11.1和对应的cudnn8.1软件:Tensorflow2.4 和 PyTorch1.7驱动:460.39cuda链接:https://pan.baidu.com/s/1_01EZN_UjQHFyr72ZeFhGA驱动链接:https://pan.baidu.com原创 2021-02-16 09:26:36 · 1300 阅读 · 0 评论 -
常用知识点总结-自用
启动会话 tmux new -s name从会话跳出 ctrl +b + d再次进入会话 tmux a -t name查看当前所有会话 tmux ls分屏tmux split-window -h 横向分屏tmux split-window 竖向分屏分屏移动ctrl +b 上下左右原创 2021-02-07 15:06:28 · 392 阅读 · 0 评论 -
遇到的PyTorch API
文章目录1. torch.chunk1. torch.chunktorch.chunk(input, chunks, dim=0) → List of Tensors将input tensor划分成特定的块数,每个块都是input tensor的一个视图,最后一个块可能会小一点,因为不能被dim整除。input 输入tensorchunks 返回多少个块dim 沿着哪个维度进行切分>>> import torch>>> a = torch.zeros(原创 2021-02-04 09:15:01 · 286 阅读 · 2 评论 -
PyTorch消除训练瓶颈 提速技巧
【GiantPandaCV导读】训练大型的数据集的速度受很多因素影响,由于数据集比较大,每个优化带来的时间提升就不可小觑。硬件方面,CPU、内存大小、GPU、机械硬盘orSSD存储等都会有一定的影响。软件实现方面,PyTorch本身的DataLoader有时候会不够用,需要额外操作,比如使用混合精度、数据预读取、多线程读取数据、多卡并行优化等策略也会给整个模型优化带来非常巨大的作用。那什么时候需要采取这篇文章的策略呢?那就是明明GPU显存已经占满,但是显存的利用率很低。本文将搜集到的资源进行汇总,由于目前原创 2020-12-28 08:24:49 · 4172 阅读 · 0 评论 -
【服务器无法联网怎么配环境】ubuntu服务器离线安装pip,deb离线安装方法
pip离线安装在你自己的电脑上将包下载好,使用命令:pip download -d ./pkg_template albumentationsalbumentations就是你想要安装的包。如果嫌下载太慢,可以在命令行换源pip download -d ./pkg_template albumentations -i https://mirrors.aliyun.com/pypi/simple(1)直接把jieba包下载到/usr/local/download/pip/目录下pip dow原创 2020-12-21 16:06:36 · 2842 阅读 · 1 评论 -
【论文阅读】Mixed Precision Training
【GiantPandaCV导语】混合精度是一个非常简单并且实用的技术,由百度和谷歌联合发表于ICLR2018,可以让模型以半精度的方式训练模型,既能够降低显存占用,又可以保持精度。这篇文章不是最先提出使用更低精度来进行训练,但是其影响力比较深远,很多现在的方案都是基于这篇文章设计的。1. 摘要提高网络模型的大小可以有效提升准确了,但是也增加了内存的压力和计算力的需求。本论文引入了半精度来训练深度神经网络,在不损失精度、不需要更改超参数的情况下,几乎可以减半内存占用。权重、激活、梯度都是以IEEE半精度原创 2020-12-20 21:49:19 · 884 阅读 · 0 评论 -
PyTorch Lightning工具学习
【GiantPandaCV导语】Pytorch Lightning是在Pytorch基础上进行封装的库,为了让用户能够脱离PyTorch一些繁琐的细节,专注于核心代码的构建,提供了许多实用工具,可以让实验更加高效。本文将介绍安装方法、设计逻辑、转化的例子等内容。PyTorch Lightning中提供了以下比较方便的功能:multi-GPU训练半精度训练TPU 训练将训练细节进行抽象,从而可以快速迭代1. 简单介绍PyTorch lightning 是为AI相关的专业的研究人员、研究生、原创 2020-12-08 10:43:27 · 2878 阅读 · 0 评论 -
LaTeX书写公式速查
(以下内容主要摘自“一份不太简短的 LATEX2e 介绍”)文章目录数学重音符号文本/数学模式通用符号希腊字母二元关系符二元运算符巨算符箭头定界符跨行大公式大定界符其他amssymb包中的AMS符号数学重音符号文本/数学模式通用符号希腊字母二元关系符二元运算符巨算符箭头定界符跨行大公式大定界符其他amssymb包中的AMS符号...原创 2020-11-03 15:43:49 · 633 阅读 · 0 评论 -
快速入门使用tikz绘制深度学习网络图
【GiantPandaCV导语】本文主要介绍最最最基础的tikz命令和一些绘制CNN时需要的基础的LaTeX知识,希望能在尽可能短的时间内学会并实现使用tikz这个LaTeX工具包来绘制卷积神经网络示意图。之前看到tikz可以画出这种图,感觉特别专业,所以萌发出了解一下tikz的想法。1. overleaf平台在电脑上安装过LaTeX都知道,LaTeX安装包巨大,并且安装速度缓慢,下载和安装的时间需要几乎一下午才能完成。庆幸的是有一个平台可以在线编译文档,那就是overleaf,如今overleaf原创 2020-09-16 12:56:52 · 2774 阅读 · 1 评论 -
卷积神经网络中的即插即用模块
《卷积神经网络中的即插即用模块》是首发于GiantPandaCV公众号的电子书教程,由pprp总结并整理了常见的即插即用模块,可以分为注意力模块和其他模块。通过这篇电子书中的模块结合《从零开始学习YOLOv3》中的在YOLOv3模型中添加Attention机制一节的内容,就可以自由的尝试即插即用模块了,当然在除了YOLOv3以外的框架也可以自由插入。这些即插即用模块都是笔者接触到的,由于精力所限,还有很多没有在该电子书中说明,如果有补充可以在文末联系笔者,笔者会及时添加更新电子书的。电子书中涉及到的源码原创 2020-05-30 07:48:53 · 3894 阅读 · 6 评论 -
简易快速数据增强库使用手册
《简易快速数据增强开源库推荐》是首发于GiantPandaCV公众号的电子书教程,由BBuf尝试多种数据增强库以后,从中选择了两个易于上手数据增强库进行分享,适用的领域包括分类、分割、检测等。这两个库是albumentations和augmentor,其中albumentation库支持分类、检测、分割任务;augmentor库支持分类和分割任务。电子书内部由于图片示例较多,排版上略显不美观,请见谅。封面目录GiantPandaCV公众号简介GiantPandaCV是由专注于技术的一群95后创原创 2020-05-27 19:42:25 · 399 阅读 · 0 评论 -
【资源】Faster R-CNN原理及代码讲解电子书
《Faster R-CNN原理及代码讲解》是首发于GiantPandaCV公众号的教程,针对陈云大佬实现的Faster R-CNN代码讲解,Github链接如下:https://github.com/chenyuntc/simple-faster-rcnn-pytorch电子书主要包括Faster R-CNN原理的梳理和代码讲解,包括数据预处理、RPN、网络构建、评价指标、后处理等内容。...原创 2020-05-07 23:28:08 · 352 阅读 · 0 评论 -
简易关键点标注软件分享
前一段时间看到交流群中有人需要关键点标注软件,但是笔者并没有找到特别适合的软件,所以想自己写一个简单的软件。笔者代码借鉴了BBox-Label-Tool的代码,将检测部分的代码改成了关键点的代码。列举一下这个软件的优点:代码量小,只有400多行,只需要掌握基础的tkinter就很容易看懂。占用空间小,打包成exe后只有10M。可以定制化,可以自定义标注格式,直接导出你期望的标注类型,只需...原创 2020-05-02 09:02:36 · 1592 阅读 · 7 评论 -
通过DarkLabel构建DeepSort标注格式和ReID数据集
上一篇文章推荐了DarkLabel标注软件,承诺会附上配套的代码,本文主要分享的是格式转换的几个脚本。先附上脚本地址: https://github.com/pprp/SimpleCVReproduction/tree/master/DarkLabel先来了解一下为何DarkLabel能生成这么多格式的数据集,来看看DarkLabel的格式:frame(从0开始计), 数量, id(从0开始...原创 2020-04-30 11:57:06 · 2643 阅读 · 20 评论 -
PyTorch中模型的可复现性
在深度学习模型的训练过程中,难免引入随机因素,这就会对模型的可复现性产生不好的影响。但是对于研究人员来讲,模型的可复现性是很重要的。这篇文章收集并总结了可能导致模型难以复现的原因,虽然不可能完全避免随机因素,但是可以通过一些设置尽可能降低模型的随机性。1. 常规操作PyTorch官方提供了一些关于可复现性的解释和说明。在PyTorch发行版中,不同的版本或不同的平台上,不能保证完全可重复...原创 2020-02-26 08:06:25 · 1003 阅读 · 0 评论 -
多目标跟踪中经典的MOT16数据集和评价指标
最近要做一个有关多目标跟踪的项目,刚刚接触MOT,所以先来了解一下MOT16这个比较经典的数据集以及比较经典的评价标准。1. 多目标跟踪多目标跟踪处理的对象是视频,从视频的第一帧到最后一帧,里边有多个目标在不断运动。多目标跟踪的目的就是将每个目标和其他目标进行区分开来,具体方法是给每个目标分配一个ID,并记录他们的轨迹。已开始接触,可能觉得直接将目标检测的算法应用在视频的每一帧就可以完成...原创 2020-02-25 09:47:24 · 2937 阅读 · 9 评论 -
无root权限情况ffmpeg的安装和使用教程
1. 无管理员权限下的安装方法首先下载安装包并解压:cd ~/installedwget http://ffmpeg.org/releases/ffmpeg-1.2.6.tar.bz2tar -jxvf ffmpeg-1.2.6.tar.bz2得到文件夹ffmpeg-1.2.6cd ffmpeg-1.2.6./configure --enable-libmp3lame --enab...原创 2019-12-14 22:39:44 · 2346 阅读 · 0 评论