学习笔记
学习笔记
Tomorrow;
这个作者很懒,什么都没留下…
展开
-
加载预训练模型时报错 KeyError: param ‘initial_lr‘ is not specified in param_groups[0]
在加载预训练模型继续训练时,程序报错:KeyError: “param ‘initial_lr’ is not specified in param_groups[0] when resuming an optimizer”参考:https://discuss.pytorch.org/t/a-problem-occured-when-resuming-an-optimizer/28822。对代码中出现的 last_epoch 或者end_epoch设置为-1即可,亲测管用。原创 2023-06-09 13:53:57 · 2407 阅读 · 4 评论 -
crowdpose数据集 keypoints关键点与关节点对应顺序
crowdpose数据集 keypoints关键点与关节点对应顺序原创 2022-09-27 16:10:13 · 1077 阅读 · 1 评论 -
mpii数据集 keypoints关键点与关节点对应顺序
mpii数据集 keypoints关键点与关节点对应顺序原创 2022-09-27 15:19:41 · 1281 阅读 · 0 评论 -
labelme输出的json转coco格式
在coco的标注中,每个关键点表示为(x,y,v),用labelme标注时,我们用group_id来表示v。其中每个json文件打开后如下所示,其中标注了人体的17个关键点以及人体的bbox。除了脚本中两处路径需要修改外,labelme标注出来的格式也要和上述对应。labelme标注好的文件夹样式如下,每张图片对应一个json标注。转化后的格式如下所示,此时只拿三张图片举例。原创 2022-09-26 15:57:15 · 1575 阅读 · 1 评论 -
利用cv2绘制coco keypoints点位
【代码】利用cv2绘制coco keypoints点位。原创 2022-09-25 12:31:12 · 444 阅读 · 0 评论 -
coco keypoints关键点与关节点对应顺序
coco关键点与关节点对应关系原创 2022-09-25 12:24:33 · 3857 阅读 · 0 评论 -
Linux中利用docker搭建深度学习环境
写在前面:在深度学习中,避免不了在远程服务器上进行模型的训练,如果直接在裸机的基础环境跑显然是不可取的容易,此时搭建用于模型训练的docker环境显得尤为重要。1.下载基础镜像选择一个合适的基础镜像会给后续的操作带来极大的便利,其中ufoym/deepo镜像是笔者最常用的一个,输入如下命令下载基础镜像docker pull ufoym/deepo下载好后,输入如下命令,列表中若出现ufoym/deepo则下载成功docker images2.创建docker容器根据下载好的镜像来创建容器原创 2022-06-19 06:36:26 · 1276 阅读 · 0 评论 -
No module named ‘nms.gpu_nms‘ or No module named ‘nms.cpu_nms‘
问题描述:跑开源项目时报错 ModuleNotFoundError: No module named ‘utils.nms.cpu_nms’ ,查了很多方法大部分都是让在lib/utils/nms目录下创建cpu_nms.py 这种方法治标不治本,根本原因是setup_linux.py编译问题解决办法:进入到~/utils/nms目录下,在 /utils/nms目录下执行如下命令:python setup_linux.py build develop编译结束后再次运行程序,错误消失...原创 2022-05-30 17:53:58 · 2408 阅读 · 1 评论 -
can‘t open file ‘/train.py‘: [Errno 2] No such file or directory
问题描述: ssh连接pycharm和服务器,在Python Interpreter中选择好了已经创建好的环境,运行时报错:ssh://root@192.168.0.104:10002/root/anaconda3/envs/py37/bin/python3.7 -u E:/mdistiller-master/tools/train.pybash: line 0: cd: E:/mdistiller-master/tools: No such file or directory/root/anacon原创 2022-05-30 10:45:37 · 3123 阅读 · 0 评论 -
Linux环境中,切换conda镜像源(嘎嘎好用,下载pytorch又快又稳定)
1. 打开.condarc配置文件sudo vim ~/.condarc2.将该镜像替换进去report_errors: falsechannels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pk原创 2022-05-26 09:40:25 · 2138 阅读 · 2 评论 -
dict嵌套dict类型转化为namespace
转化前,可以看出字典中嵌套了很多字典转化后,所有的dict类型都转化成了namespace脚本如下def dict2namespace(dicts): for i in dicts.items(): if isinstance(i[1], dict): j = dict(i[1]) ns = argparse.Namespace(**j) dicts[i[0]] = ns ..原创 2022-05-16 16:29:46 · 507 阅读 · 0 评论 -
FileNotFoundError: [Errno 2] 绝对路径不一定是你认为的绝对路径
将文件路径改为了/MSPN/dataset/CrowdPose/json 下,自己以为/MSPN已经是绝对路径了,结果还是报错FileNotFoundError: [Errno 2] dataset = json.load(open(annotation_file,'r')) 用os.path.abspath(‘…’)查看才发现绝对路径是/MSPN/exps ,发现问题所在.解决方法: 用 os.path.abspath(‘…’) 查看绝对路径,再将识别不出来的文件放到该绝地路径下.具体代码如下,.原创 2022-05-16 11:51:31 · 200 阅读 · 0 评论 -
【避坑指南】3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation
网上清一色的说要提高torch版本和cuda版本,但实际上都忽略了两个很重要的细节。mmcv对cuda和torch版本有要求,3090需要cuda11以上,因此在torch官网下载最新的或者选择cuda11.1+torch1.8cuda和torch必须必须同时安装,不能分开安装。不然会报错!!!...原创 2022-04-28 19:42:08 · 1797 阅读 · 0 评论 -
COCO_val2017_detections_AP_H_56_person.json
文件夹中包含了:COCO_test-dev2017_detections_AP_H_609_person。链接:https://pan.baidu.com/s/1RNKVmZaRD-mIUYrJZ94p7Q。人体姿态估计top down方法中,验证集的先验框。原创 2022-04-28 18:37:17 · 1986 阅读 · 4 评论 -
No module named pyopenpose 解决方法 很细节
Error: OpenPose library could not be found. Did you enable BUILD_PYTHON in CMake and have this Python script in the right folder?No module named pyopenpose尝试了很多方法:如修改路径,复制bin里面的文件到Release里面,甚至换成编译CPU版的,以及直接下载pyopenpose文件夹单独编译,都没有解决。解决办法: 用CMAKE编译openpos原创 2022-03-23 17:57:44 · 7202 阅读 · 17 评论 -
vim /etc/ssh/sshd_config进去后如何编辑和保存
写在前面: 最近在给docker容器配置ssh-server时,进行到修改sshd_config配置文件时,发现绝大部分博文都是在介绍配置文件里面参数的意思或者需要增删改哪些文件,但具体到该怎么操作很少有博文提到,对新手很不友好。1.输入命令vim /etc/ssh/sshd_config,在输入E加回车进入配置界面2. 方向键移动光标到需要修改的位置,接着按i或者inser键当最底下出现----INSERT----时就可以正常进行增删改了3. 操作结束后按Esc,屏幕底下的----INSERT-原创 2021-12-19 14:31:08 · 22096 阅读 · 2 评论 -
将VOC数据集(或自己的数据集)转化为yolo格式
写在前面:再跑yolov5代码时报错:assertionerror:no labels found in///JPEGImages.cache can not train without labels经过查阅后得知是因为yolov5模型所采用的是coco数据集格式,而输入的数据集格式不符合coco数据集格式,因此需要进行一下转化,此处就拿VOC数据集举例。1.coco数据集文件格式图片来自于黑影L2.VOC数据集格式3.实现代码(VOC—>COCO)"""本脚本有两个功能:1.将v原创 2021-12-12 19:59:39 · 11401 阅读 · 32 评论 -
python实现将png格式的照片批量转化为jpg格式
写在前面: 日常学习中做目标检测的项目所给的数据集是png格式的,但是源码中需要的是jpg格式输入,因此需要对数据集转化一下格式。import osfrom PIL import Imagedirname_read="Q:/tianchi/JJ/mchar_train/"dirname_write="Q:/tianchi/JJ/JPEGImages/"names=os.listdir(dirname_read)count=0for name in names: img=Image.o原创 2021-12-10 21:01:29 · 5040 阅读 · 1 评论 -
Python实现拼接列表中的元素
记录日常学习遇到的问题1.列表中的元素为字符串时l1=['a','p','p','l','e']l2=''.join(l1)print(l2)[outs]:apple2.列表中的元素为数字时,不能用join直接拼接列表中的元素l1=[2,0,2,1]l2=''.join(l1)print(l2)[outs]:TypeError: sequence item 0: expected str instance, int found正确的方式为将列表中的数字遍历后转化为str类型原创 2021-12-09 16:09:39 · 8274 阅读 · 0 评论 -
Python中列表的相加与列表元素的相加
记录日常学习中遇到的问题1. 列表的相加(拼接)list1=[1,2,3]list2=[4,5,6]list3=list1+list2print(list3 )[outs]:X:\python\venv\Scripts\python.exe .xml[1, 2, 3, 4, 5, 6]2.列表元素的相加list1=[1,2,3]list2=[4,5,6]list3=[]for m,n in zip(list1,list2): per_list3=m+n list3原创 2021-12-07 14:30:23 · 8430 阅读 · 0 评论 -
用python实现将json文件转化为xml格式
首先此json格式的标注来自于阿里天池竞赛 街景字符编码识别其次json转xml的脚本不能万能的,因为每个json文件的内部会略有不同此例的json内部格式如下转化后的xml格式如下(就拿000000.png举例)4.脚本文件如下from xml.dom.minidom import parseStringimport xml.dom.minidomimport osimport cv2import json_IMAGE_PATH = 'E:/coco/COCO/train'.原创 2021-12-07 10:59:05 · 2786 阅读 · 0 评论 -
c语言中函数的分类
c语言中函数的分类:一·从来源分系统提供的库函数(如printf,scanf函数),不同的编译器会提供不完全相同的函数库。自己设计的函数其中max函数的功能是比较出两个数中的最大值。二·从结构分#mermaid-svg-6ouNcNo1jxIpUnVs .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-sv原创 2021-04-13 23:44:14 · 1946 阅读 · 1 评论 -
Python中列表,字典,元组,集合总结
数据结构 是否可变 是否重复 是否有序 定义符号列表list 可变 可重复 有序 [ ]元组tuple 不可变 可重复 有序 ( )字典dict 可变原创 2021-12-04 11:52:26 · 88 阅读 · 0 评论 -
一些Linux的概念
1Linux一般用作后端服务器操作系统,没有GUI操作界面,通过指令去控制服务器。客户端一半以上是Windows操作系统,服务器端90%是Linux操作系统。2Linux的指令有上千个,要做到不求甚解只需要记住常见的二三十个指令,忘了没关系及时去查。3学习Linux指令需要搭建环境:VMware +Ubuntu4ls(list查看目录下的内容),pwd(print work directory查看文件所属的路径)cd(change directory打开目录),tab(自动补全),ls -l原创 2021-09-09 23:59:25 · 120 阅读 · 0 评论 -
一些Linux的概念(2)
11find /home -name ×× ( 通过文件名在home目录下精确查找)find /home -name *? (通过 星号和问号在home目录下模糊查找)find /home -iname ×× (不区分大小写的查找)find /home -size +1 (根据文件大小搜索,1数据块=0.5k)find /home -user zstu (根据原创 2021-09-10 14:23:11 · 74 阅读 · 0 评论 -
一些Linux的概念(3)
18useradd ×× (添加用户名,-m创建家目录 -g 指定所在的组)passwd ×× (设置密码,或者sudo passwd)前置sudo可以提高权限,进入root后就不需要用sudo19用户组是为了方便权限控制,当创建用户时系统会自动创建一个跟用户同名的组。文件属性:左边为所属用户,右边为所属组。20su ×× (用户切换)su -×× (用户切换,并回到家目录)exit (退出当前用户,回到上一个用户,没有上一个用户则直接退出终端)userdel ×× (用户删除)原创 2021-09-10 18:52:01 · 68 阅读 · 0 评论 -
一些Unity的概念
1Unity用于游戏开发和三维互动内容的开发,是一个专业的主流的游戏引擎。(引擎=用于开发的工具)Unity的突出特点在于全平台覆盖。开发一款游戏的大致过程:策划,美工,软件工程师,测试工程师,运维,客服。Unity5,加入了物理着色器使得光照更加逼真,是该版本重大革新之一。X轴为红色,Y轴为绿色,Z轴为蓝色,其中世界坐标不变。2Project项目资源面板用是存放游戏的所有资源(相当于仓库),例如花草树木人物图片,场景,脚本,模型,音频等。Create里面可以创建一些系统自带的资源。第三方原创 2021-09-13 23:33:45 · 420 阅读 · 0 评论 -
一些Unity的概念(2)
8摄像机组件相当于眼睛,在游戏中的数量不受限制。Camera摄像机:向玩家捕获和显示世界Clear Flag清除标识:决定屏幕空白部分如何处理 Skybox天空盒:空白部分显示天空盒图案,图案可以自定义 Solid Color纯色:空白部分显示背景颜色 Depth Only仅深度:画中画效果,谁的深度值大就显示谁Background:所有元素绘制后,没有天空盒的情况下剩余屏幕的颜色Culling Mask选择遮罩层:选择要照射的层,一般选EverythingProjection原创 2021-09-15 01:20:16 · 343 阅读 · 0 评论 -
一些C#的基础
1C#(sharp)是专为.NET做开发的语言.NET dotnet是一个开发平台C#的严谨性,技术风格是其特点早期C#只能在Microsoft旗下的.NET平台开发,Novell公司开发了Mono技术,使得C#可以跨平台开发。2数据类型整型:一般int型,8字节有符号用long,无符号用ulong浮点型:变量赋值要加上后缀,不加默认为double,decimal变成后缀即为m。4字节:单精度浮点,类型float,精度7位8字节:双精度浮点类型double,精度15到16位16字节:用原创 2021-09-15 23:42:50 · 142 阅读 · 0 评论 -
神经网络基础
一.深度学习的一些数学基础1.神经网络所需要的函数①一次函数在深度学习中一次函数十分重要,在神经网络中神经单元的加权输入可以表示为一次函数关系,在反向传播算法中,一次函数可以使得计算变得十分简单,在数学中一次函数标准型为其中a为斜率b为截距,x为自变量y为因变量,a b为常数,图像为一条直线如下所示一次函数同样也适用于多个自变量的情形在神经网络中神经元的加权输入可以表示成多个自变量的一次函数形式,其中z为输入,w为权重,b为偏置②sigmoid函数sigmoid函数是神经网络中十分重原创 2021-10-14 19:44:04 · 1002 阅读 · 0 评论 -
用Python指令 解压上传到服务器上Jupyter中的压缩包
import zipfilef=zipfile.ZipFile("./Fruit.zip","r") #原压缩文件在服务器的位置for file in f.namelist(): f.extract(file,"./") #解压后的文件所存储的位置f.close()原创 2021-10-16 10:55:50 · 224 阅读 · 0 评论 -
详解one—hot编码(独热编码)
学习过程中遇到的优质的博文,怕丢了所以转载一下转载自:https://www.cnblogs.com/shuaishuaidefeizhu/p/11269257.html一、什么是one-hot编码?One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为转载 2021-12-02 21:21:30 · 7294 阅读 · 0 评论