自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Yolov5---模型阅读、改进、实验

YOLOv5【网络结构】超详细解读总结!!!建议收藏✨✨!_yolov5 网络结构_耿鬼喝椰汁的博客-CSDN博客 (1条消息) YOLOv5-6.2源码解析-train.py(超级无敌巨详细版)_yolov5train代码详解_Seven、K的博客-CSDN博客

2023-07-12 11:21:05 317

原创 Docker 安装Miniconda

下载Miniconda下载地址 执行 sh命令完成Miniconda 的安装 中间输入yes 完成安装后,执行链接中的命令完成环境配置 创建自己conda环境,需要配置清华镜像 安装对应的pytorch,Pytorch的下载地址

2023-07-12 10:28:54 1272

原创 Docker的使用

1. 镜像:别人开发好的基础,类似C++中的类。2. 容器:自己创建的实例。

2023-07-12 10:24:41 670

原创 QT-学习中用到的函数

1.菜单栏

2023-06-12 19:21:58 85

原创 6.C++多线程async、future、packaged_task、promise

(defer推迟,延期)表示线程入口函数的调用会被延迟,一直到std::future的wait()或者get()函数被调用时(由主线程调用)才会执行;如果wait()或者get()没有被调用,则不会执行。实际上根本就没有创建新线程。std::launch::deferred意思时延迟调用,并没有创建新线程,是在主线程中调用的线程入口函数。2、std::launch::async,在调用async函数的时候就开始创建新线程。async 可以创建线程,然后通过使用result.get()等待子进程运行结束。

2023-06-06 14:58:35 55

原创 5.C++多线程--单例设计模式

需要和标记(once_flag)配合使用,只要once_flag被设置为”已调用“,后续不在被调用。可在其他线程中使用notify_one和notify_all来唤醒此时的wait函数,单例设计模式:整个项目中,有某个或者某些特殊的类,属于该类的对象只能创建1个。如果wait函数里面有判断条件,则会判断条件是否符合,不符合则会等待;唤醒后,wait仍然会先判断是否满足条件,满足条件后再执行后面的语句。类对象可以调用wait函数,会将wait函数内的锁解开,双重锁定(双重检查)可以完成单例设计模式的完成。

2023-06-06 14:09:11 519

原创 4.C++多线程-- unique_lock(类模板)

使用之前先lock,不能自己unlockcout << "插入元素:" << i << endl;使用之前不能先lock, try_to_lock会自己先尝试进行加锁。如果不能加锁,通过判断直接执行其他defer_lock 见上public:i < 10000;i++) {cout << "插入元素:" << i << endl;cout << "容器为空" << endl;else {

2023-06-05 16:50:53 411

原创 3.C++多线程--数据共享问题

保护共享数据:互斥量(mutex)或者使用std::lock_guard<std::mutex> my_lock(my_mutex);使用lock_guard 在构造函数会调用mutex::lock(),析构函数调用 mutex::unlock();为了使用lock_guard,可以配合大括号使用。

2023-06-04 22:38:38 533

原创 2.C++多线程--危险点分析

使用detach时,子线程一定不要传入指针如果采用临时类对象作为参数,传入到thread中,thread会调用拷贝构造函数,对传入变量进行拷贝,然后再为自线程所使用。下面的代码采用引用来接收类对象,如果不采用引用的话,系统还会再构造一次对象,这样会出现3次构造,浪费时间。

2023-06-04 20:52:26 542

原创 1.C++多线程--创建线程

thread :一个用于创建线程的类;join():用于阻塞主线程,等待子线程完成后,再进行主线程;detach():主线程和子线程各自执行,不再需要主线程逐个等待子线程结束;一旦采用,子线程和主线程失去关联,子线程驻留后台完成。joinable():判断是否可以使用join和detach,可以返回true,否则返回false;

2023-06-03 21:18:15 157

原创 MarkDown 使用

1.分数2.希腊字母3.数学符号大全Markdown符号_markdown符号大全_Planet^沐的博客-CSDN博客

2023-05-31 16:23:19 35

原创 PointNet++ 源码解读

先找到存放训练和测试数据的目录,接下来加载相关的数据参数:下面是执行的结果: 接下来为训练样本开始做准备: 给不同标签做上标记: 定位每个样本文件: optimizer.zero_grad()//将梯度清零,如果不加此话,梯度就会一直不断的累加。接下来将点云转为Numpy的形式,并进行随机点剔除、缩放和平移以上的内容对于防止过拟合很有帮助,提升模型的泛化能力接下来就是将numpy转为tensor的数据形式,并将维度中 第2维和第3维进行转置,再放入cuda。数据发生的变化:16*1024*3---》16*3

2023-05-30 21:00:41 803

原创 C++ 新特性

【代码】C++ 新特性。

2023-05-29 13:33:24 1056 2

原创 第11章 使用类

程序将使用构造函数base (double a) 来创建一个临时的base对象,并将10.5作为初始化值。随后采用逐成员赋值方式将临时对象的内容复制到b1中。假如base 中有 base(double a);为了结果运算符重载过程中,自定义类型在运算符右侧的问题。是一种非成员函数就可以访问类内私有成员的函数。使用explicit 可以关闭4中的自动属性。定义的运算符的一元和二元版本。

2023-05-21 18:52:34 30

原创 10 对象和类

初始化对象数组的方案是,首先使用默认构造函数创建数组元素,然后花括号中的构造函数将创建临时对象,再将临时对象的内容复制到相应的元素内。3.如果使用new创建的,则将驻留再栈内存或自由存储区内,delete的时候被调用。2.如果创建的是自动存储类对象,析构函数将在程序执行完代码块被调用。1.如果创建的时静态存储类对象,析构函数将在程序结束时自动被调用。也可以现在类内进行函数的声明,然后再类外 inline进行定义。公有成员函数是程序和对象的私有成员之间的桥梁,提供了接口。定义位于类声明中的函数,为内联函数。

2023-05-21 17:59:44 509

原创 第9章 内存模型和命名空间

const声明的常量为内部链接性;每个引用该头文件的文件内都会有一个 const常量。get(char*,int) 读取空行导致cin为false。2. 使用#define和const定义的符号常量。5 中的内容说明了new运算符发生了重载。

2023-05-21 17:34:13 29

原创 第8章 函数探幽

另外,引用返回值传递给非引用是,以值传递的方式进行传递。引用一旦指定后,就不能再作为其他变量的引用。

2023-05-10 20:07:41 470

原创 3. 关于sort 指定排序规则

在cmp 函数中,指定首先按照res二维数组中,第1列降序排序、第2列降序排序、第0列升序排序。

2023-05-04 22:19:54 104

原创 第6章 分支语句和逻辑运算符

【代码】第6章 分支语句和逻辑运算符。

2023-05-03 22:27:57 36

原创 第5章 循环和关系表达式

如果检测到EOF,则cin.eof() 返回会true,否则返回false;二者都是等到按下回车后,才处理输入缓存区的数据。2. 采用cin.get(ch)cin.get()---不忽略。cin---忽略空格和换行符。1. 采用cin.eof()

2023-05-03 21:44:44 703

原创 2.语法糖-

【代码】各种语法糖。

2023-05-03 21:16:17 39

原创 计算机网络微课堂-1

电路交换、报文交换、分组交换的区别与优缺点_电路交换,报文交换和分组交换的优缺点_使君杭千秋的博客-CSDN博客

2023-05-02 13:23:34 40

原创 第4章 复合类型

cin.getline() 遇到回车完成读取,并不会保存换行符。读入“jud”时,数组会存放j u d \0。cin 遇到空格、回车、Tab,就会完成读取。

2023-04-27 21:24:12 272

原创 关于ACM模式下的输入问题

【代码】关于ACM模式下的输入问题。

2023-04-26 14:37:28 47

原创 12. 回溯问题

解决 组合、排列、子集、分割、棋盘问题。

2023-04-20 20:56:30 30

原创 Leetcode-二叉树

3. 根据划分中序序列中-左子树的长度,进而划分后序序列。4. 得到4个数组:左中,右中,左后,右后数组。1. 首先根据后序(左右中)确定顶点元素;2. 根据顶点元素划分中序序列;5. 递归实现二叉树的构建。

2023-04-19 14:44:51 370

原创 11. 树和图

1.存储2.树和图-深度优先搜索3. 树和图-宽度优先搜索

2023-04-17 20:58:53 36

原创 10. DFS +BFS

dfs+回溯;每次结束的时候,完成现场的恢复。

2023-04-17 15:43:38 32

原创 8.数据结构-堆

1.堆的要求2.堆的存储---采用1维数组来模拟3.堆的实现

2023-04-14 21:09:56 39

原创 9.并查集

并查集在应用中还可以加入变形,即:加入对并查集内节点的判断。

2023-04-14 16:52:38 41

原创 8. Tire 树

想法优点类似单链表中next指针,通过将p = tire[p][c_temp],可以不断寻找下一个地方。其中tire[p][c_temp]就是不断的存储当时插入字符串时的idx,正是通过idx每个字符才有了自己的地址。cnt[p]是代表p指针下有没有完整的字符串。每个节点下面都有26个子节点,其中tire[p][c_temp] 就是p类似指针,不断的更新,查找到p下面的元素。核心就在于p的一直变换,可以看作为一个指针,不断指向下一个寻址的地址。字典树首先需要足够大的空间,是采用空间换时间的一种数据结构。

2023-04-14 14:50:00 30

原创 STL 常用函数补充

【代码】STL 常用函数补充。

2023-04-13 22:57:27 28

原创 7.KMP算法

【代码】7.KMP算法。

2023-04-13 21:39:33 35

原创 代码随想录-知识点细读

1.指针和引用。

2023-04-13 15:52:37 32

原创 1.多态相关知识

1.子类在类内使用指针,会在堆区开辟空间,如果父类的析构函数不使用虚析构,子类不能执行析构函数。1. 多态的使用,必须将父类中的函数写为虚函数,但父类虚函数不执行,可以写为纯虚函数。2.在父类类外写父类析构函数的具体实现,因为父类也会有相关指针需要释放。3.父类如果有纯虚函数,即为抽象类,不能实例化对象。2. 子类继承父类后,需要重写父类的虚函数。4. 子类继承 抽象类,必须重写纯虚函数。

2023-04-13 15:12:07 34

原创 6.哈希表

【代码】6.哈希表。

2023-04-05 20:49:15 27

原创 7. 哈希表

哈希表可采用链式结构进行构建。2.哈希函数3.哈希-头部插入4.哈希查询5.主函数测试哈希表

2023-04-05 18:56:46 36

原创 5.链表相关算法

需要注意的是:1.head 直接就是第一个节点;......此种做法是错误的,temp=head,说明temp和head共享一个地址;

2023-04-05 17:51:45 21

原创 4.数组模拟链表

【代码】4.数组模拟链表。

2023-04-04 22:40:58 25

原创 3.双指针算法、位运算、离散化、区间合并

比如 "abc efg jkl mop" 要求输出每个单词。此时就可以使用双指针。

2023-04-03 22:30:55 50

空空如也

空空如也

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

TA关注的人

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