- 博客(40)
- 收藏
- 关注
原创 随手记——conda迁移虚拟环境后不能使用Linux命令解决方案
在Ubuntu使用conda pack打包环境迁移之后发现存在以下问题;conda迁移环境是为了更短的的在新机器上搭建一个环境;我记录一下遇见的问题;
2024-12-10 16:51:31
694
原创 深度学习——COCO全身关键点提取部分指定的关键点
提取COCO全身关键点的指定部分关键点,并按照指定顺序排列关键点,得到yolov8可用的训练txt
2024-04-08 21:00:04
1475
原创 深度学习——yolov5的txt和xml互转
在学习工作的过程中,有时会需要自己新建数据集,向训练数据中添加新的数据,存在已有模型对新数据进行检测,得到yolov5对应的txt文件,之后转成xml,使用标注工具对数据进行校正。后续将xml转成yolov5训练使用的txt格式。以下是使用多进程和多线程两种方式实现的txt和xml互转的代码。
2024-03-17 19:18:15
1614
原创 关于torch.utils.data中的Dataset,DataLoader返回字典浅谈
测试Dataset是否可已返回字典?且DataLoader设置batch_szie>1时返回的数据是什么样子的?
2022-12-09 10:49:13
3165
原创 VSCode调试文件launch.json、tasks.json配置、CMakeLists.txt模板
学习笔记,CMakeLists.txt模板,launch.json、tasks.json模板
2022-05-25 16:10:44
10767
原创 ElementTree包解析xml文件
深度学习中许多数据集的标注是以xml方式保存的本文以VOC2012数据集的标注文件为例探究包ElementTree的使用xml文件格式<root> # 最开始的标签叫做根标签,根标签的名字是root <part> # 子标签,子标签名字为part,可以重复 <name>123</name> # 子标签中的元素 <age>20</age> <sex>男<
2022-05-15 09:51:08
962
原创 C++引用和指针--指针作为形参、返回值;引用作为形参、作为返回值
C++引用和指针指针的分类引用测试代码指针的分类//普通指针int a = 10;int* p = &a;//第一类指针:常量指针;指向的地址可改,指向的地址中的数据不可改const int* p1 = &a;//第二类指针:指针常量;指向的地址不可改,指向的地址中的数据可改int* const p2 = &a;//第三类指针:const int* const p;指向的地址和指向的地址中的数据都不可以改const int* const p3 = &a;
2022-03-03 13:29:47
1153
原创 深度学习--torch.index_select()
1、torch.index_select(input: Tensor, dim: _int, index: Tensor, *, out: Optional[Tensor]=None) -> Tensordim控制的是在input第几个维度对数据进行索引index的数据挑选,index控制的是在input的那个索引提取数据,作用:在input的第dim维度将索引为index的数据提取出来import torcha = torch.linspace(start=1, end=81, step
2022-02-18 19:03:46
1019
原创 深度学习--浅谈torch和numpy的reshape()和view()方法的区别
reshape的使用1、reshape(-1)结果:按照行的顺序将数据拉长2、reshape维度不变结果:按照行的顺序将数据重新排列3、reshape增加一个维度结果:按照行的顺序将数据重新排列结论:reshape不论是numpy.array还是torch.Tensor都是按照行的顺序将数据重新排列,reshape是可以对原来数据的维度进行修改的但是需要注意的是,Tensor.reshape(*shape);array.reshape(shape, order=‘C’)就是说使用的时候要注意的是
2022-02-18 12:25:38
2811
原创 深度学习--np.meshgrid(a,b)和torch.meshgrid(x,y)
结论:np.meshgrid(a,b)是按a作为x轴信息,b为y轴信息;torch.meshgrid(x,y)是按输入x作为y轴信息,输入y作为x轴信息.。import torchimport numpy as np# 通过一下代码可以生成一个网格,每一个网格点是对应的一个中心点,数值从32~224,如果是整张图的范围的话是0~256stride = 8w = 25h = 25# tensor([ 0., 8., 16., 24., 32., 40., 48., 56
2022-02-18 12:08:21
1838
原创 CoCo2017数据集使用(简单介绍)
本人使用训练图片用在目标跟踪上作为数据集扩展,因此只查看了train的json文件。目录绪论标注文件:instances_train2017.jsoninfo:licenses:image:categories:annotations:代码绪论COCO的全称是Common Objects in Context,是微软团队提供的一个可以用来进行图像识别的数据集。MS COCO数据集中的图像分为训练、验证和测试集。论文 、数据集官方网址CoCo2017数据集包括train(118287张)、val(50
2022-02-12 09:37:34
54541
1
原创 Python 函数的值传递和引用传递详解
1.参数类别形式参数:简称形参,在定义函数时,函数名后面小括号中自定义的参数就是形式参数。实际参数:简称实参,在调用函数时,函数名后面小括号中传入的参数值就是实际参数。2.函数中参数传递方式Python 值传递和引用传递是根据实际参数的类型不同进行区分的,如下所示:值传递:指的是实参类型为不可变类型(数字、字符串、元组);引用传递(或叫地址传递):指的是实参类型为可变类型(列表,字典,set 集合)。—————————————————————————————值传递和引用传递的区别如下所示:
2022-02-02 22:26:53
8256
原创 深度学习(目标跟踪和目标检测)--边界框bbox坐标转换(任意格式【list,numpy,tensor】、任意维度【向量、一维矩阵、二维矩阵】)
作者提示:可能存在错误,在我的电脑上可以运行;写程序过程中发现不同的人写的边界框转换程序不一样,有的只能转换numpy矩阵,有的只能是转换tensor矩阵,我就尝试着写了一个可以转换任何维度的任意格式的bbox函数。水平不够,写的时候用的时间长了,脑袋就有些晕乎乎的,就发出来希望大家一起发现其中的错误,也方便大家使用;如果朋友们发现程序有问题,希望可以及时指出,我会立马做出修改,共同进步。本程序目的是:可以转换以下三种格式的输入数据 list,numpy,tensor,维度可以从0维到2维,
2022-01-28 22:54:23
3279
原创 python数据结构与算法:二叉树
学习黑马程序员数据结构与算法笔记二叉树class Node: """ 节点定义 """ def __init__(self, element): """ 初始化 :param element: """ self.element = element # 元素 self.left_child = None # 左节点 self.right_child = .
2022-01-16 18:11:54
211
原创 python数据结构与算法:排序算法总结
冒泡排序冒泡排序是最基础的交换排序,会遍历序列n-1次,每一次遍历序列时都会挑选出剩余序列中的最大值,冒泡排序的大概流程是:使用两个for循环,第一层for循环控制的是遍历的次数,设置成range(1,length),第二层for循环控制的是遍历序列长度。每一次遍历都会有一个最大的数排序好(从结尾想开头排序),所以每次遍历的时候在第二层控制遍历的序列的长度,减少时间复杂度,提高效率。第一层for循环控制的是遍历的次数,第二层for循环控制的是遍历的序列的长度,遍历次数count,序列长度是[0,le
2022-01-16 18:03:13
286
原创 python列表list使用测试
"""测试list类型的数据"""a_list = [] # 创建一个新的空列表# 列表添加新元素# append(value):在列表末尾添加一个元素# insert(pos, value):在指定位置添加元素,如果下标不存在那么就在末尾添加# extend(new_list):合并两个list成一个列表,将new_list添加到a_list之后a_list.append(1)print('append 1:', a_list)a_list.extend([2, 3, 4, 546,
2022-01-02 12:36:01
342
原创 使用cv2在图片上绘制边界框
使用cv2在图片上绘制边界框# 如果目标在中心点的时候,边界框的左上角和右下角坐标frame = cv2.rectangle(img, # 图片 (int(x1), int(y1)), # (xmin, ymin)左上角坐标 (int(x2), int(y2)), # (xmax, ymax)右下角坐标 (0, 255, 0), 1) # 颜色,线条宽度cv2.imwrite('image.jpg', frame) # 使用cv2保存...
2021-09-14 09:21:05
2033
原创 深度学习训练工具包Tools——feature map size计算工具
工具包Tools——feature map size计算工具def map_size(size, k, s=1, p=0): # 计算一层的size变化 new_size = (size - k + 2 * p) / s + 1 return int(new_size)def feature_map_size(size, kernel_size: list, stride: list, padding: list = None): """ :param size:
2021-08-30 16:26:11
450
原创 深度学习训练工具包Tools——LearningRateHistory学习率记录工具
工具包Tools——LearningRateHistory学习率记录import datetimeimport osimport matplotlib.pyplot as pltimport scipy.signalclass LearningRateHistory: def __init__(self, root): """ :param root: 根目录,主要是保存这个项目运行的所有结果的文件夹 """ self.
2021-08-28 22:19:14
276
原创 深度学习训练工具包Tools——progressDialog进度条工具
工具包Tools——progressDialog进度条不喜欢用python中的tqdm,所以就自己写了一个简单的def progressDialog(steps, step, information=' ', style='->'): """ 自己写的进度条, :param steps: 总共的迭代次数 :param step: 这是第好几次迭代 :param information: 需要打印的信息 :param style: 进度条的格式
2021-08-28 11:25:40
435
原创 深度学习训练工具包Tools——TimeSpent时间记录工具
工具包Tools——TimeSpent时间记录提示:和https://blog.youkuaiyun.com/weixin_50727642/article/details/119965189中的GetLogging使用效果更好"""# -*- utf-8 coding -*-#作者:沐枫日期:2021年07月22日用来记录训练所用的时间"""import datetimeclass TimeSpent: def __init__(self): self.__sta
2021-08-28 11:23:14
653
原创 深度学习训练工具包Tools——SaveWeights生成权重保存名称工具
工具包Tools——SaveWeights权重保存名称"""# -*- utf-8 coding -*-#作者:沐枫日期:2021年08月03日用来生成权重保存的文件名称,文件名称包括model_name:模型名字,epoch:第几次迭代,loss:本次迭代的损失,accurate:精度"""import osimport datetimeclass SaveWeights: def __init__(self, root, model_name): """
2021-08-28 11:18:17
446
原创 深度学习训练工具包Tools——LossHistory损失记录工具
工具包Tools——LossHistory损失记录工具"""# -*- utf-8 coding -*-#作者:沐枫日期:2021年08月01日使用类LossHistory保存训练时候的损失使用示例:loss_history = LossHistory('./loss) or loss_history = LossHistory('./loss, 'loss_2021_08_02_19_24_09)...train_loss = ......val_loss = ...loss_h
2021-08-28 11:13:49
2713
原创 深度学习训练工具包Tools——GetLogging日志记录工具
工具包Tools——GetLogging日志工具import datetimeimport loggingimport os"""日志触发时是多线程的,但是会保持日志输出的顺序logging库的日志级别 级别 | 级别数值 | 使用时机 DEBUG | 10 | 详细信息,常用于调试INFO | 20 | 程序正常运行过程中产生的一些信息WARNING | 30 | 警告用户,虽然程序还在正常运行,但是可能发
2021-08-28 11:05:32
815
原创 python库--logging日志
python库--logging日志1、初阶应用2、高级应用1、初阶应用import logging"""日志触发时是多线程的,但是会保持日志输出的顺序logging库的日志级别 级别 | 级别数值 | 使用时机 DEBUG | 10 | 详细信息,常用于调试INFO | 20 | 程序正常运行过程中产生的一些信息WARNING | 30 | 警告用户,虽然程序还在正常运行,但是可能发生错误ERROR |
2021-08-28 08:12:02
238
原创 python中cv2、Image和plt的图片打开、显示和保存
def cv_show(image): cv2.namedWindow('image', 0) cv2.resizeWindow('image', 600, 600) cv2.cvtColor(image, cv2.COLOR_RGB2BGR) image = image.convert('RGB') # 将RGBA转换成RGB image = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2GRAY) # I
2021-08-17 15:51:36
15771
4
原创 52单片机连接ESP8266烧入固件使用MQTT协议将温湿度上传至OneNET云平台
52单片机连接ESP8266烧入固件使用MQTT协议连接OneNET云平台参考:-----------------------------------------------------------------------------------------创建一个 MQTT 协议产品:版权声明:本文为优快云博主「Yonas-Luo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/qq_17351161/ar
2021-05-05 17:16:07
8291
16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅