自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 函数的默认参数重定义

函数默认参数的重定义问题

2022-08-22 20:56:07 406 1

原创 头文件的多重引用问题

头文件的多重定义问题

2022-08-22 20:54:32 854

原创 《CUDA C编程指南》笔记:第一章

该笔记基于《CUDA C 编程指南》以及CUDA官方文档,多记录程序代码以及函数使用,其余知识点详见书中。该章就是写了一个关于helloworld的小demo:hello.cu可以看到,该源文件的后缀为,然后使用来对其进行编译:然后运行hello这个可执行文件,输出:可能会有一些疑问,为什么源代码后缀名为,首先这是所支持编译的源文件后缀,另外,以该后缀结尾的源代码表示这是一个CUDA源文件,包含了主机代码(host code)以及设备函数(device functions)。nvcc所支持编译的源文件

2022-06-01 15:26:49 297

原创 进程间通信方式

进程间通信是一个很重要的知识点,现做如下笔记1 进程间通信通信方式有如下几种:管道、消息队列、共享内存、信号量、信号、Socket1.1 管道管道的数据传输是单向的,要么写,要么读,因此要实现进程间互相通信,就需要使用两个管道来实现;命名管道的实质是以文件的形式存在;管道这种通信方式效率很低,不适合进程间频繁的交换数据;所谓的管道,其实就是内核里的一段缓存。因此从管道的一端写入的数据,实际上是缓存在内核中,而另一端读取,也是从这段内核缓存中读取数据;对于匿名管道,它的通信范围是存在于父子进

2022-05-23 16:59:07 173

原创 static和const关键字

1 static关键字static的作用就是:控制变量的存储方式和可见性。具体作用如下:修饰局部变量。一般情况下,对于局部变量在程序中是存放在栈区的,并且局部变量会在离开其作用域时,被系统自动析构。但是如果使用了static关键字修饰了局部变量的话,该变量就会存放于静态数据区,其生命周期会一直延续到整个程序执行结束。但需要注意的是,虽然使用了static修饰的局部变量的生命周期得到了延长、存储空间发生了变化,但是它的作用域并没有改变,作用域还是限制在其语句块中。那么这也突出了静态局部变量和全局变量的

2022-05-23 09:35:07 259

原创 单例模式中的懒汉模式和饿汉模式

在阅读《Effective C++》时,接触到了单例模式,而对于其所包含的懒汉模式和饿汉模式,现做如下笔记:1 单例模式首先要知道单例模式是什么。单例模式是一种设计模式,就是**保证一个类仅有一个实例,并提供一个访问它的全局访问点。**而懒汉模式和饿汉模式的区别则在于,该实例的创建时机不同,见如下。2 懒汉模式顾名思义,该模式很“懒”,所以实例要在迫不得已的情况下才被创建,即需要使用到该实例的时候才创建出来。如下有个懒汉的小demo:class Singleton{ static Singlet

2022-05-12 18:04:59 915

原创 I/O模型

在服务器编程中用到了IO模型,在这里做一下笔记,笔记参考于《Linux高性能服务器编程》1 I/O模型socket在创建的时候默认是阻塞。我们可以通过fctnl系统调用来将socket的属性改为非阻塞。阻塞和非阻塞的概念能应用于所有文件描述符,而不仅仅是socket。我们称阻塞的文件描述符为阻塞I/O,非阻塞的文件描述符为非阻塞I/O。1.1 阻塞I/O针对阻塞I/O执行的系统调用可能因为无法立即完成而被操作系统挂起,直到等待的事件发生为止。比如,客户端通过connect向服务器发起连接时,conn

2022-05-07 20:31:31 333

原创 class和struct的区别

在C++中我们可以看到struct和class的区别并不是很大,两者之间有很大的相似性。那么为什么还要保留struct,这是因为C++是向下兼容的,因此C++中保留了很多C的东西。1 struct首先,C种的struct是一种数值类型,那么就肯定不能定义成员函数,而C++做了相应的扩充,扩充如下:struct可以包括成员函数struct可以实现继承struct可以实现多态那struct和class到底有什么区别呢?2 struct和class的区别**默认的继承访问权。class默认

2022-05-07 17:39:55 1595

原创 extern关键字

看到过几次extern的代码,然后每次都要去查一查该关键字的用法,这里做一下笔记。1 extern关键字顾名思义,该关键字的作用就是向当前作用域引入变量。先来看第一种情况:我们知道,程序的编译单位是源程序文件,一个源文件可以包含一个或若干个函数。在函数内定义的变量是局部变量,而在函数之外定义的变量则称为外部变量,外部变量也就是我们所讲的全局变量。它的存储方式为静态存储,其生存周期为整个程序的生存周期。全局变量可以为本文件中的其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。然而,如

2022-05-07 17:39:18 122

原创 编译期和运行期知识点

之前对于编译期和运行期的理解都停留于书面,只是浅显的知道多态发生于运行期之类的知识点,现在上网查找下相关资料,做下知识点汇总1 编译系统在Unix系统上,从源文件到可执行文件,是由编译器驱动程序完成的。对于GCC编译器驱动程序来编译hello.c源文件,首先读取源程序文件,然后把它翻译成可执行文件hello。这个翻译过程由四个阶段完成:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B9fGaUB3-1651916251981)(C:\Users\PrinceAlLHH\

2022-05-07 17:38:11 937

原创 argparse学习笔记

基本使用argparse是一个Python模块,包括:命令行选项、参数和子命令解析器主要有三个步骤:(1)创建解析器:创建ArgumentParser()对象parser = ArgumentParser() # 实例化一个ArgumentParser对象,用来装填main函数输入(2)添加参数:调用add_argument()方法添加参数ArgumentParser.add_argument(name or flags,[action],[nargs],[const],[defa

2022-03-31 14:54:31 2485

原创 torch.nn和torch.nn.functional区别

在写代码时发现我们在定义Model时,有两种定义方法:torch.nn.Conv2d()和torch.nn.functional.conv2d()那么这两种方法到底有什么区别呢,我们通过下述代码看出差别,先拿torch.nn.Conv2dtorch.nn.Conv2d[](javascript:void(0)😉class Conv2d(_ConvNd): def __init__(self, in_channels, out_channels, kernel_size, stride

2022-03-28 10:49:22 2490

原创 Pysyft学习笔记

关于联邦学习框架Pysyft的学习笔记

2022-03-28 10:48:21 6208 12

原创 mmClassification学习笔记

关于商汤OpenMMlab中的分类项目学习笔记

2022-03-28 10:46:56 7966 4

原创 深拷贝与浅拷贝

深拷贝与浅拷贝之前在学c++的时候,接触到了这两个概念,不过当时也不能完全理解,然后这两天看《深度探索C++对象模型》中Copy Constructor那节的时候,了解到了memberwise和bitwise两种拷贝方式,其对应的就是深拷贝与浅拷贝,因此今天搜搜资料,总结一下笔记。简单来说,两者的异同如下:对于简单对象(int,char,或者不含指针成员的自定义对象)来说,深拷贝和浅拷贝的效果都是一样的,都是开辟一块新的内存空间,来存放副本。而对于含有指针成员的自定义对象来说,浅拷贝和深拷贝

2022-03-28 10:44:57 1096

原创 全局变量和静态变量初始化总结

1 全局变量c++保证,全局变量在main函数第一次使用它之前,就把它初始化好。【可以直接理解成在main函数执行前就初始化好】但这个初始化可细分为:编译时初始化和运行时初始化,即static initialization和dynamic initialization。static initialization:静态初始化,是针对于那些简单的、c++内部定义的数据结构,如int,double,bool及数组结构的初始化,又可分为zero和const两种方式。对于zero初始化,也就是我们没指定初值

2022-03-28 10:43:50 5563

原创 零拷贝笔记

零拷贝知识点汇总

2022-03-28 10:43:01 137

原创 Decorator修饰器

文章目录Decorator修饰器闭包用函数作Decorator用class作decoratorPython自带装饰器后言Decorator修饰器我在看mmcv源码的时候,发现库中的mm.Config.fromfile模块中(可能其他模块也有)出现了很多修饰器,因此现在对修饰器的定义以及作用,利用网上的资源进行一个总结。闭包先看一下闭包的解释:在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变

2021-11-28 11:52:49 767

空空如也

空空如也

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

TA关注的人

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