- 博客(33)
- 收藏
- 关注
原创 服务器神器——tmux
文章目录先说废话安装tmux使用tmux启动tmux查看窗口新建窗口窗口会话分离接入、杀死会话先说废话深度学习训练一个模型至少需要几个小时、几天甚至更久,其中万一断网或者电脑死机导致命令窗口关闭,窗口中执行的会话将会自动停止,这会带来很多不便,因此如果能将会话和窗口分离(窗口关闭会话也不影响)那必定是最好的结果。以前本菜用的nohup,发现不是很方便,后来大神介绍本菜一个利器——tmux,瞬间爽爆!果断放弃nohup!安装tmuxsudo apt-get install tmux使用tmux启动
2021-12-17 11:35:45
660
原创 mmdetection3d 环境配置
文章目录@[toc]安装cuda、cudnn安装mmdetection3d安装torch安装mmcv-full安装mmdet安装mmseg降级gcc编译mmdet3d处理kitti数据集查看版本: conda list + 包名版本:cuda 10.1python 3.7torch 1.7.1mmcv-full 1.4.0mmdet 2.14.0mmsegmentation 0.14.1gcc 5.5mmdet3d 0.17.2安装cuda、cudnncuda、cudnn安装教程
2021-12-06 14:33:52
2596
原创 指定GPU训练
在终端训练代码签加上CUDA_VISIBLE_DEVICES=0即可。如下CUDA_VISIBLE_DEVICES=0 python train.py
2021-11-15 17:57:19
3387
转载 miniconda for Linux
下载wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.shbashbash Miniconda3-latest-Linux-x86_64.sh过程中按空格继续或者输入yes+Enter键或者直接Enter,详情见链接初始化环境变量 source ~/.bashrc然后就会出现(base)环境...
2021-11-05 20:28:54
135
1
转载 相机投影原理、相机模型中的坐标系统以及标定方法(转载)
文章目录0 引言1 相机投影中的坐标系及其转换关系1.1 世界坐标系与相机坐标系1.2 相机坐标系与图像坐标系:称为摄像机模型以及投影矩阵1.3 图像坐标系与像素坐标系1.4 从世界坐标系到像素坐标系的转换方程1.5 综述2 成像中的误差2.1 光芯偏移误差与单像素点矩形(非正方形)误差2.2 透镜畸变3 相机标定过程中的内参、外参与畸变参数求解3.1平面单应性矩阵求解3.2 棋盘角点个数和参数个数3.3 单应性矩阵分解得到内外参矩阵3.4 畸变参数求解4 单目标定与双目标定原文链接!!!!!!!!!0
2021-11-05 17:35:15
3712
原创 WeChat for Linux
Wechat for Linux安装docker链接(前提)https://yeasy.gitbook.io/docker_practice/install/ubuntu知乎安装链接https://www.zhihu.com/question/39977685github安装链接https://github.com/huan/docker-wechatissue 链接(若出现没有权限创建目录,sudo也不行)链接: https://github.com/huan/docker-wechat/
2021-11-01 13:44:21
5938
原创 nohup --- 远程服务器离线训练
nohup python -m xxx.py > my_logs.txt 2>&1 &xxx.py是想要运行的程序,运行的也可以是xxx.sh终端将不会输出任何日志,日志会存放到my_logs.txt里,my_logs.txt放在当前运行所在的目录下。
2021-10-13 22:30:02
610
原创 剑指offer07——重建二叉树
前、中序遍历有何意义?已知条件:前序,中序遍历,重建二叉树。给出的前序、中序遍历各自有什么意义呢?前序遍历:根–>左–>右,不难看出无论何时前序遍历第一个肯定是根节点,因此我们找到了根!剩下只要找到左孩子和右孩子就行了,把左子树、右子树抽象成只有一个节点:左孩子、右孩子,找到这俩孩子就能重构树了,递归就是一个抽象、抽象、抽/(ㄒoㄒ)/~~象的过程!!!我们看中序遍历:左–>根–>右,咦,只要知道了根节点在哪,左孩子右孩子就在左右两侧,因此我们就可以通过中序遍历找出左右孩子
2021-09-02 14:54:11
160
原创 剑指offer41——图文详解堆排序
堆数据结构以及堆的应用大根堆的维护大根堆插入元素堆排序大根堆的维护堆数据结构可以模拟成完全二叉树(每一层节点都是从左到右添加,这层满了才能添加下一层),堆又可以用一个数组来表示如下图(实际上底层就是个数组,树只是更直观地表达而已)这棵树有很好的性质:1:已知父节点下标为k,那么左孩子下标为2k,右孩子为2k+1(如果左右孩子都存在的情况下)2:已知子节点(左右孩子都一样)下标为i,那么父节点下标为(i/2),如果i/2=0那么该节点没有父节点。我们先说如何通过已有的数组维护成一个大根堆(小根堆
2021-08-29 14:07:47
207
原创 神奇的汉诺塔(图文解析)
汉诺塔游戏规则…三根神柱子,移动上面的大饼,规则每次只能移动一个饼,整个过程中大饼必须要在小饼的下面…三根神柱子取名:‘From’ ‘Help’ ‘To’… 千万别纠结这三根柱子的位置,只需要知道’From’是大饼们出发的那根神柱,‘To’是大饼们到达的那根神柱,但是大饼们需要通过借助另一根神柱才能到达,它就是’Help’!!!千万别纠结位置啊.大饼们开始出发…不纠结于细节,从宏观看步骤一:总共n个大饼,n=3,我们只要将上面n-1个小饼从From借助To移动到Help,然后…步骤二:将最
2021-07-21 15:23:46
1774
1
转载 C++字符串和数字转换完全攻略(转载)
文章目录使用字符串流对象进行数字转换数字转换字符串函数字符串转换数字函数(stoX)toi()和stoi()函数的用法和区别以字符串形式存储的数字和以数字形式存储的数字之间是有区别的。例如,字符串 “2679” 就不是一个数字:它是由 2、6、7、9 这 4 个字符的 ASCII 码组成的序列。由于字符串 “2679” 不是一个数字,所以编译器将不允许对它进行加法、乘法和除法之类的数学运算。以数字表示的字符串必须首先转换为数字形式,然后才能与算术运算符一起使用。同样地,数字形式的程序值,例如 int、
2021-05-01 15:26:05
5685
原创 C++ 类中函数指针的使用
文章目录函数指针用法类中的成员函数接收函数指针情况1情况2情况3总结函数指针用法函数指针可以作为一个函数的参数,传不同的函数指针给这个函数就可以让其实现不能的功能。从而我们可以复用这个函数剩余的大部分结构,而不用设计两个只有一点点不同的函数。举个简单的例子,==假如!!!==我这个math函数还有很多操作(发挥下想像力),只有一小部分不同,一个要得到加法结果、一个要得到乘法结果,那么我完全可以只设计一个math函数,把不同的部分(加、乘)拿出去,按照实际情况调用不同功能函数的指针进math函数就行了。
2021-04-17 15:20:11
5689
1
原创 C++ 枚举enum
枚举是种特殊的数据类型,也可以理解为它代表整形数据int既然它某种程度上就等于int,为何还要多此一举?假设现在你利用数组创建了一个万人的成绩单,并且每个人的位置创建完就保持不动,只能修改成绩。你当然可以用0~9999来索引每个人的成绩,又假设你记忆很好,创建完当天你居然能记住所有人的索引,我让你修改Shan的成绩,你记得她的idx为413,然后你就操作scores[413]=99,出色的完成了任务。但是一个星期之后我发现某些成绩不对,再次需要修改,你还能清楚地记得所有人对应的idx吗?(不能用哈希表作
2021-04-14 10:00:10
2368
原创 ubuntu教程:写出第一个最简单的CMakeLists.txt
首先简单看下这个小项目:交换两个数字,代码不难,主要用来讲解cmake的编写,cmake也写的比较简单,适合入门,请各位高手指教。两个源文件:main.cpp、swap.cpp一个头文件swap.h一个CMakeLists.txt文件 注意!大小写,还有最后的s提示:上面截图的终端部分就是我编译以及运行的指令,由于我可执行文件生成在bin,所以cd 到bin再执行程序的[先看完下面的教程再回来看指令也行]熟悉了整个工程之后就开始cmake的旅途~~~我把完整的注释都写在cmake文件里面了
2021-04-10 22:22:48
3383
原创 手撕yolo3系列——详解train训练代码(详细注释)
上一节:详解yolo3整体网络代码本节代码所在文件pytorch_yolo3/train.py主程序pytorch_yolo3/nets/yolo_training.py子程序文章目录回顾编码编码成什么样怎么编loss的产生YOLOLoss类内容回顾这节不再一行行的按顺序读代码了(大型的程序一般都是一层一层地往里剥),讲解代码时我会尽量配相应的图来加以说明整套流程的思路,对!主要是思路。先把程序放一边,回顾历史,然后想想当下该干嘛。前面两节主要在搭建网络(模型),搭建好了只要输入一张图片就可以得
2021-01-16 01:50:24
4235
原创 手撕yolo3系列——详解yolo3整体网络代码(详细注释)
上一节:详解主干网络darknet53代码上一节构建完了主干网络darknet53(backbone),这一节构建完整的yolo3网络。还记得吗?arknet# 输出三路分支 out3 = self.layer3(x) out4 = self.layer4(out3) out5 = self.layer5(out4) return out3, out4, out5...
2021-01-14 14:09:11
3702
原创 手撕yolo3系列——详解主干网络darknet53代码(详细注释)
本文代码基于yolov3的pytorch版本。文章目录darknet53网络结构残差块结构darknet53网络结构文字版:卷积+(下采样卷积+1残差块)+(下采样卷积+2残差块)+(下采样卷积+8残差块)+(下采样卷积+8残差块)+(下采样卷积+4*残差块)鸣谢:图片来源是不是很有规律?不难看出,darknet53就是重复堆叠下采样卷积+n*残差块(n为残差块的个数)这个结构而组成的。而更基本的结构就是残差块了,因此我们先构建出残差块,然后重复堆叠上述结构darknet53就完成了。残差块结
2021-01-14 02:11:24
12301
8
原创 Windows系统如何合并两个txt文本
法一:先cd到想要合并的txt文件所在目录,然后在终端(Anaconda Prompt或者cmd都可以)执行type 1.txt 2.txt >all.txt,会将2.txt的内容加到1.txt后面。type是合并所用的关键字,1.txt,2.txt是要合并的文件名(可以合并不止两个文件),all.txt是合并完,生成的txt文件。【注】Linux系统下使用cat关键字法二(没事找事):但不会忘记命令。首先cd 到cat.bat所在的目录,在终端(Anaconda Prompt或者cmd都
2021-01-11 21:26:55
4204
原创 pytorch gpu版本的最全安装教程,含环境配置、CUDA(百度云下载)安装程序失败解决方案
看过我cpu版本的pytorch小白安装教程CPU版pytorch小白教程应该已经会设置清华源了,这里不再叙述,gpu版本的pytorch会默认以清华镜像源来下载,速度不用担心。请关闭杀毒软件 尤其360请关闭杀毒软件 尤其360请关闭杀毒软件 尤其360环境套餐:win10 + pytorch1.7.1 +vs2019+ CUDA10.1 + cuDNN8.0.4文章目录下载pytorch安装显卡驱动(已有驱动并且版本没问题的话可跳过此步)下载CUDA下载cuDNN安装CUDACUDA安装错误解
2021-01-10 11:43:54
37988
25
原创 pycharm跑pytorch时报错Process finished with exit code -1073741819 (0xC0000005)
环境配置python3.6+pytorch1.2.0+CUDA9.2+cuDNN7.1.4+cudatoolkit9.2+vs2019一切看上去都那么正常…跑程序的时候报了标题的错误,后悔没有截图纪念一下(当然也可以作死再换回去)调试工具走起,一步步定位到loss.backward()这一操作,就在这崩的,我心态也跟着崩了…找了好多方法,控制变量排除各种包的冲突numpy、matplotlib啊啥的,还有说相对路径改为绝对路径什么有的没的,但我数据集已经加载过了,明显不是这个问题。也要感谢nump
2021-01-10 01:39:42
4467
10
原创 conda常用指令汇总、conda update不能用问题(遇到再更)
conda常用指令conda remove --name env_name(环境名) package_name(包名) :删除虚拟环境中的包conda list:查看安装了哪些包。conda install package_name(包名):安装包conda env list 或 conda info -e:查看当前存在哪些虚拟环境conda info package_name(包名):查看包的依赖信息(与其他包的版本匹配)参考链接conda update conda:检查更新当前conda这
2021-01-09 21:24:17
4360
7
原创 如何在电脑上安装多个版本的CUDA
有时候有的项目要求很苛刻,有的需要CUDA>9.0,有的又要CUDA>10.0…无可奈何只能安装多个CUDA文章目录环境配置CUDA下载安装(已存在一个)cuDNN下载安装环境变量配置测试环境配置CUDA9.2,cuDNN7.1.4想了解如何配置正确的环境,避免包版本的冲突,可以到这里了解一下conda下载各种包时如何避免版本不匹配问题CUDA下载安装(已存在一个)gpu版pytorch安装教程,这里讲解了如何安装CUDA,如果我们想再装一个不同版本,继续看下去…CUDA下载直达链
2021-01-09 20:55:25
32451
15
原创 conda下载各种包时如何避免版本不匹配问题
通过conda install 包名这行命令可以很方便下载各种需要的包,如果配置了清华源的话速度会很快,这里有清华源配置的方法CPU版pytorch安装教程法二就有配置清华源的详细教程。利用conda install 包名==版本号可以安装自己想要的版本,如:conda install pytorch==1.2.0如果不加版本号可能会安装最新版,最新版也许并不适用(包与包之间版本不匹配,有的项目需要低版本的包实现)假如我想装pytorch==1.2.0的GPU版本gpu版本的pytorch安装教程
2021-01-09 19:27:27
14332
6
原创 VOC2007、2012数据集音速下载及训练、验证、测试集划分使用说明(附代码)
你还在苦苦地寻找voc数据集的资源吗,你还在骂骂咧咧地到别人博客里付费下载voc数据集吗?看了这篇,妈妈再也不用担心你下载voc数据集了!voc数据集镜像地址特别鸣谢链接的提供者对准要下载的数据集右击–>复制链接如果你迅雷已经打开了它会自动弹出下载界面,下载即可。如果下载界面没有打开…把刚才复制的链接手动粘贴到迅雷里,然后搜索,下载即可。音速下载中,速度不会降…...
2021-01-09 12:03:08
5755
1
原创 理解MaxPool最大池化的作用与反向传播
目前网络中运用最多的pool操作就是maxpool,最大池化。最开始经典的网络用的较多的是平均池化。操作与机制都差不多,一个是取最大值,一个是取平均值。作为小白的我最近看文章脑子里浮现出几个问题:池化层(我们以最大池化为例)的作用池化层如何通过反向传播池化层的最直观的作用就是降维、减少参数量、去除冗余信息、对特征进行压缩、简化网络复杂度、减少计算量、减少内存消耗等等。《动手学习深度学习》一书中还提到了这样一个作用: 缓解卷积层对位置的过度敏感性,实际上就是特征不变性。以下是书上的解释(pyto
2021-01-03 23:37:09
20016
1
原创 线性回归详解,通俗易懂,入门必看!
文章目录前言4.1学习就是参数估计4.1.1 一个热门问题4.1.2 选择线性模型作为首次尝试4.1.3 你所需的是减少损失4.1.4 从问题到PyTorch4.1.5 沿梯度向下4.1.6 进行分析4.1.7 训练循环前言本文引自于官方权威的 PyTorch 教程书《Deep learning with PyTorch》中的4.1章节<学习就是参数估计>。内容稍微有点长,但是耐心看下去一定会受益匪浅。其中蓝色字体是本人添加的一些笔记以及见解,如果理解有误,敬请提出。首先引用书中4.0章
2020-12-25 14:51:12
3410
原创 如何使用HDF5文件里的数据?
HDF5是一种可移植的、广泛支持的格式,用于表示以嵌套键值字典形式组织的序列化多维数组。以键值的方式可以更科学地分类管理数据,获取数据时也可以根据需要,通过不同的键名获取自己想要的数据。Python通过h5py库支持HDF5,该库以NumPy数组的形式接收和返回数据。import h5pydata=torch.tensor([[[1,2,3], [4,5,6]], [[7,8,9],
2020-12-24 00:15:25
970
原创 pytorch无坑超详细图文CPU版小白安装教程(配gpu版链接、conda命令教程)
文章目录官网默认指令安装版本对应问题下载包安装Windows终端路径切换命令创建环境卸载官网默认指令安装pytorch官网安装链接我是在Windows系统下用pip安装,语言是Python,安装的是cpu版本(CUDA:None),选择完界面如下。本文讲述cpu版本的安装,gpu版本除了要额外安装cuda和cudnn,其余操作与cpu版本并无差异。红框给出的就是默认指令安装,默认安装torch、torchvision、torchaudio,==后面跟着的就是版本号,你可以选择安装自己想要的包以及喜欢的
2020-12-22 20:40:20
11209
4
原创 C++随笔 静态成员变量与静态成员函数的使用 超详细!!!
在C++代码中static 关键字随处可见,到底有什么用呢?下面结合类class举几个简单的例子。文章目录类中静态成员变量与静态成员函数的特点静态成员变量示例代码typeid运算符静态成员函数示例代码this指针访问权限类中静态成员变量与静态成员函数的特点在类中以static 修饰的变量以及函数称为静态成员变量和静态成员函数,特点下:静态成员变量:在编译阶段分配内存,存储于全局区。所有对象共享一份数据,因此不属于特定哪个某个对象。(非静态成员变量隶属于特定的对象)类内声明,类外初始化。静
2020-12-22 10:07:22
2501
原创 目标检测——理解Anchor box的作用
最近重新看了遍经典的目标检测网络,对Anchor box 的作用有了更深入的了解。第一次写博客,有不正确的地方还望指出,共同进步。为了控制篇幅本文主要讲Anchor box,不针对网络细节展开,默认大家已经对经典网络有所了解,尤其是faster RCNN(下文会以faster RCNN为例讲解)带来不便,深表歉意。Anchor box的发展Anchor box最先由faster RCNN网络提出,后分别被SSD和YOLO2、YOLO3等经典网络借用,也出现了不同的称呼“prior box”、“defa
2020-12-18 09:58:43
4879
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人