自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 收藏
  • 关注

原创 协程的意义(二)

在一个线程中,如果遇到IO等待,线程不会一直在等待,而是利用空余时间去完成别的任务(充分利用线程)。示例:下载图片①普通的方式下载图片(同步方式)②使用协程的方式下载图片(异步方式,也可通过线程池、进程池完成,可称为异步编程)

2024-04-19 18:38:53 712

原创 asyncio异步编程

当一个线程在执行他的协程函数时,如果遇到yiled from asyncio的情况,他不会在这一直等待,在等待的过程中会切换到其他的协程函数。③的功能与②相同,但是新的版本中,可以不用装饰器,直接使用asyncio关键字,yield from也可以使用await做替换。定义两个协程函数,将两个协程函数放到一个task列表,将task列表放到事件循环。本质是用一个线程在一段代码中来会切换游走的线程,是一种用户态内的上下文切换技术。1.协程:(不是计算机中真实存在的,人为创造出的概念),也可称为微线程。

2024-04-16 18:37:56 300

原创 Flask架构--路由和蓝图

app.route装饰器。(装饰器为某个url指定对应的视图函数)falsk框架中,视图定义在那,路由就跟着在哪。查看所有的路由,需要查看所有的视图函数。定义flask 视图时,如果不加入任何请求方式,他只支持get和自带的请求方式。需要其他请求方式时,要放开请求方式,通过methods参数,他是一个列表形式的参数。需求二:在构建一个网站时,不只有一个视图函数,业务逻辑处理多,可能需要定义很多接口,所以视图就会有很多。视图多的情况下,在文件中进行管理,用到蓝图。可以所有视图的所有路由添加前缀。

2024-01-14 20:21:46 763

原创 C++中的宏定义

宏定义

2023-10-08 16:14:05 288

原创 C++入门(文件结构)

头文件和源文件是什么

2023-10-08 15:39:46 197

原创 drag diffusion中的gradio代码逐行解析(二)

5.gr.Button("Generate Image")创建按钮,用户可以点击按钮执行特定的操作。1.gr.Number(数字):用于处理数值输入和输出。数值可以选择False,不可见功能。2.gr.Slider(滑块):用于创建可拖动的滑块,用于选择范围内的数值。3.gr.Dropdown(下拉选项):创建下拉选项菜单,方便用户进行选择。select()用于监听用户在组件中的选择事件。6.使用click()方法监听组件的点击事件。

2023-09-22 18:21:47 363

原创 Yolo v8数据马赛克数据增强代码详解

x1a, y1a, x2a, y2a = max(xc - w, 0), max(yc - h, 0), xc, yc # xmin, ymin, xmax, ymax (large image),确定画布区域。9.将标签中的(x,y,w,h)坐标转换为,(w,h,padw,padd)为相对于resize之后图像的数据,该函数的功能是将(x,y,w,h)坐标转换为标签的左上角和右下角坐标。i=0时,左上角的范围:x1a, y1a, x2a, y2a,马赛克图像的左上角和右下角。

2023-09-22 17:27:18 1199

原创 drag diffusion中的gradio代码逐行解析

drag diffusion中drag_ui源码解析

2023-09-20 18:48:46 447

原创 Yolo v8中的上下文管理器

上下文管理器中有__enter__()和__exit__()俩个特殊方法。__enter__()方法在with语句块执行前调用,负责获取资源并返回资源对象。with语句开始执行时,会先调用__enter__()方法中的内容用于获取资源,这一部分可以进行资源对象的操作。__enter__()方法返回self自身作为资源对象。上下文管理器通过with语句来自动获取和释放资源,确保资源的正确管理和关闭,避免资源泄露和错误。上下文管理器的使用:具备上下文管理器之后,可以直接使用with语句管理资源的获取和释放。

2023-09-20 08:18:36 97

原创 def __apply()方法详解

Yolo v8的_apply()方法

2023-09-19 16:23:01 217 1

原创 Yolo v8代码解析(二)

Yolo v8代码解析

2023-09-19 14:13:23 324

原创 Yolo v8代码逐行解读

Yolo v8代码逐行解读

2023-09-19 11:09:46 1351

原创 Stable diffusion模型种类说明

stable diffusion风格分类。

2023-09-13 15:50:26 1515

原创 从维基百科通过关键字爬取指定文本内容

从维基百科通过关键字查找爬取指定文本内容。

2023-09-11 17:15:49 336

原创 VS code远程调试代码配置

2.打开远程资源管理器,点击右上角设置进入配置界面,添加远程服务器账号,输入:ssh 用户名@服务器账号,回车。1.下载远程连接插件Remote-SSH。服务器名称右键可进行连接。

2023-08-07 18:36:00 82

原创 linux命令

查看文件内容,直接使用hello.sh执行文件报错;因为在命令行输入的内容都是在PATH中寻找,但是PATH中没有改内容,所以会报错,可以使用相对路径的方式找到当前文件并执行。shebang之后的解释程序需要写绝对路径(如:#!/bin/bash),它是不会到$PATH中寻找解释器的。在linux系统中,程序会分析shebang后的内容,作为解释器的指令。如果脚本未指定shebang,执行过程中会默认调用python解释器。shebang是出现在文本文件的第一行的前两个字符#!执行权限不够,加上权限。

2023-08-04 13:34:01 168

原创 小目标检测总结

1、小目标检测长期以来是目标检测中的一个难点,其旨在精准检测出图像中可视化特征极少的小目标(32 像素×32 像素以下的目标)。相 对于常规尺寸的目标,小目标通常缺乏充足的外观信息,因此难以将它们与背景或相似的目标区分开 来。此外,真实场景是错综复杂的,通常会存在光照剧烈变化、目标遮挡、目标稠密相连和目标尺度变化等问题,而这些因素对 小目标特征的影响是更加剧烈的,进一步加大了小目标检测的难度。2、小目标的定义:基于相对尺度定义,基于绝对尺度定义。将小目标定义为分辨率小于32像素×32像素的目标。Torr

2023-07-31 14:47:45 425

原创 制作YOLO格式数据

xml转换为txt文件。

2023-07-24 18:29:15 197

原创 tensorboard可视化

特征图的可视化

2023-02-22 19:16:43 981 1

原创 labelme中json转xml

读取json文件,删除不需要的信息,生成对应xml文件。在生成过程中需要注意坐标问题,看是否需要转换。

2023-02-22 13:31:54 949 1

原创 python中的继承

super继承

2022-10-14 11:32:35 5736 1

原创 python中的比较方法

python中的方法

2022-10-14 10:53:36 2077

原创 加载预训练网络与现有模型不同

加载预训练模型

2022-08-20 17:23:19 346

原创 GitHub学习(三)

GitHub学习

2022-07-20 16:45:36 236

原创 GitHub学习(二)

github学习

2022-07-19 19:43:56 151

原创 GitHub学习(一)

GitHub学习

2022-07-19 18:00:45 342

原创 git 入门

git操作

2022-07-17 20:47:49 285

原创 QTDesigner简介

1、QTDesigner简介:手写代码工作量大、代码结构容易搞得混乱。设计工具:直观、高效,工作量小,方便调试。界面和逻辑分离后期好维护。介绍:(实现了视图和逻辑的分离,开发代码更容易分离)配置:流程演示:登录界面设置:①:首先从展示控件中拖入两个展示控件QLabel(同时设置快捷键):②:从输入控件中拖入两个LineEdit控件:③:从buttons控件中拖入两个PushButton控件:④:选中密码控件,将他的属性改成密文格式。⑤...

2022-04-19 11:44:48 14649 1

原创 QSS---注意事项

1、QSS---注意事项:级联:QSS可以在QApplication(整个应用程序中所有的控件)、父控件(控件本身,以及空控件内部所有的子控件)、子控件中设置;一个控件的最终样式,会受到父控件和QApplication的影响。冲突:如果一个控件,作为后代控件,被多个祖先控件影响,则会产生不同属性之间进行叠加,相同属性之间进行覆盖。(控件最终会受到哪个控件的影响,看特异性,特指某一个控件,优先级会更高一点)确定控件属性,首先观察其特异性,在特异性相同的情况下,根据其先后顺序确定其属性。

2022-04-14 20:21:14 548

原创 QSS-声明

1、QSS声明---边框--颜色设置:(可以统一设计、也可以分开设计)border-color:red;2、边框---圆角:(一个控件的边框是一个矩形,将尖的直角换成一个比较缓的圆弧),只需要确定边框的圆角半径就可。3、外边距:(默认情况下,外边距、边框等都为0)注意:resize调整的整个控件的尺寸(包括内外边距、边框等),如果外边距变大,边框以内的尺寸会变小。4、内边距:(padding,通过内边距调整内容的位置)# 设置文本颜色color:orange..

2022-04-13 17:17:51 2225

原创 python进度条库tqdm

参考:python进度条库tqdm详解 - 知乎1、tqdm是python的进度条库,主要有两种运行模式:①:基于迭代器,自动更新。②:基于手动指定代码更新。注意:需要传入的是一个iterable即可迭代对象;desc字符串,左边进度条描述文字。①基于迭代对象运行trange(i) 与tqdm(range(i))意思相同,是一种简单写法。import timefrom tqdm import tqdm, trangefor i in tqdm(range(100), de

2022-04-10 11:00:00 2159 2

原创 QSS伪装态

1、QSS伪装态:限制控件只能在某种状态下被样式表作用。(当鼠标按下去是一种样式)hover:鼠标移动到控件上才会作用样式表的声明。复选框左侧的方框在不同的状态下(选中和未选中状态)设置不同的图片:复选框支持三态的情况是需要设置才可以:cb.setTristate(True)2、focus控件获取焦点:(获取焦点之后设置绿色的边框)QWidget:focus{ border:2px dotted green;}控件被禁用,修改特定样式,如果控件有效,设置其他样式:

2022-04-09 11:41:07 1052

原创 QSS---样式表

1、QSS---样式表:通过样式表调整外观样式。(有些属性只适用于部分控件)选择器:指再参考的过程中借助选择器二次筛选。当一个控件不设置父控件,他就是一个独立的窗口;局部变量走完某个方法不被引用的情况下,就会被释放,所以将他设置为self,为全局变量。from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWind.

2022-04-02 11:19:41 2086

原创 布局管理器-----尺寸策略

1、尺寸策略:控件的最小策略会告诉布局系统如何对他进行拉伸或压缩:有个QSizePolicy()包括水平方向(策略、拉伸系数)和垂直方向(策略、拉伸系数),拉伸系数建立在拉伸策略是可以被拉伸的前提下。控件的尺寸策略:要求:标签1的宽和高都是定的:水平方向和垂直方向的尺寸都是固定的,参考的def sizeHint()方法中固定尺寸。class Label(QLabel): # 设置最小尺寸(200, 300) def minimumSizeHint(se.

2022-03-26 11:19:41 480

原创 QStackLayout---简介

1、QStackLayout---简介:多个控件堆叠在一起,某个时刻只能看到一个控件。添加插入获取控件:(如果要插入的索引位置,小于等于当前正在展示的控件的索引位置,他会把当前正在展示控件的位置往后移即索引值加一,但展示控件并不变);如果插入越界的索引值,则会将它添加到最后一个位置,并返回一个正确的索引值。根据索引值也可以获得相应的控件。2、控件之间的切换:通过索引值切换,也可以通过指名某个控件进行切换。借助定时器轮流显示所有控件 timer = QTim..

2022-03-25 21:42:56 1053

原创 QGridLayout---功能简介

1、QGridLayout---功能简介:(每行每列都具有最小宽度和拉伸系数)添加控件:addwidget都是每一行每一行的加控件。列宽/行高和拉伸系数:间距控制:信息获取:某个单元格占据列或者行的大小,获取列和行的个数:获取占据单元格的大小(值无效时也无法输出内容,为一个控制):由于版本问题,需要在父控件显示完成之后才可以 print(gl.cellRect(0, 1))。from PyQt5.Qt import *class Window(QWidg...

2022-03-25 21:08:00 1135

原创 QFormLayout----(二)

1、移除行(删除子控件和不删除子控件): # 判断控件是否被销毁 age_le.destroyed.connect(lambda: print("年龄步长被释放")) age_label.destroyed.connect(lambda: print("年龄标签被释放")) # 移除某一行,删除控件 #fl.removeRow(2) # 移除某一行,不删除控件,他仍然在父控件身上,有的控件有布局,有的控

2022-03-25 20:20:16 744

原创 QFormLayout---表单布局

1、QFormLayout---表单布局:给用户的一张表格,采集用户的信息。(管理输入控件及其关联标签的形式)创建表单布局管理器:添加行:from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QFormLayout的学习") self.resize(500,..

2022-03-25 11:26:55 676

原创 QHBoxLayout----QVBoxLayout----继承于基类

1、QHBoxLayout-QVBoxLayout----继承于基类from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QH_Vlayout的学习") self.resize(500, 500) self.setup_ui() def setup_ui(self

2022-03-25 10:03:31 187

原创 QBoxLayout----

1、QBoxLayout修改方向:提供水平或者垂直方向的布局管理器。修改方向:每隔一秒调整布局的方向。from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QBoxLayou的学习") self.resize(500, 500) self.setup_ui()

2022-03-25 09:57:08 455

生成神经网络训练过程中数据的“伪标签”

使用python生成jpg文件对应的txt文件,其中内容可以为空,也可以修改。用于网络训练过程中标签为空的数据。

2023-10-19

python,从视频抽取想要的图片

使用python代码,从某段视频抽取图片,可以用于视频中寻找神经网络的训练素材。直接修改路径就可以使用。

2023-10-19

通过指定目录,读取该目录下所有子文件夹中的内容 输入根目录和指定类别的名字,即可读取所有文件

神经网络数据集路径+通过指定目录,读取该目录下所有子文件夹中的内容+自定义数据集路径。 给定该类图像所在的根目录和类别名称,数据集路径组成如下: dataset ... 根目录 cat ...类别名称 train ...训练集 good ...正样本 bad ...负样本 test ...测试集 good ...正样本 bad ...负样本

2023-09-18

通过关键字从百度中爬取相匹配图片,可以爬取多种类型也可以爬取一种类型图片

通过re、requests、urlib、BeautifulSoup、os模块实现从百度下载指定类别图片。包含代码逐行解析。

2023-09-14

修改某路径下txt文件内容

修改某路径下txt文件内容+实测可运行+直接输入文件夹路径,即可修改。

2023-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除