- 博客(90)
- 问答 (1)
- 收藏
- 关注
原创 c++基础知识复习(2)
一旦类里面使用了纯虚函数,那么这个类就是抽象类,抽象类不能用来具体化对象,抽象类的目的是用来做基类,给其他的类做继承子类继承抽象类之后,如果子类没有对父类所定于的纯虚函数做实现,那么子类也是抽象类,也不能用于具体化对象,但是如果子类对纯虚函数做实现,那么子类将不再是抽象类public://把当前函数定义为纯虚函数private:public:private:float r;return 0;
2024-11-25 18:45:34 871
原创 c++基础知识复习(1)
前期知识准备1 构造函数(1)默认构造函数:没有参数传入,也没有在类里面声明(2)手动定义默认构造函数:没有参数传入,但是在类里面进行了声明可以在类外实现或者类内实现以下案例是类外实现了手动定义的默认构造函数构造函数的调用:不需要手动调用,定义类对象的时候就实现了自动调用int main(){ Human zhangshan; 定义对象,此处会自动调用构造函数 ......}(2)自定义重载构造函数,名字相同,内容不同(3)拷贝构造函数拷贝构造函数的两种调用
2024-10-10 19:33:59 899
原创 cuda c++编程报错汇总
添加下列声明,报错消失网上说的添加这个头文件,我的报错反而更多了后来发现这个错误根本就不是错误,只是编译器不识别而已,程序不能正常执行是因为内存溢出,数组太大了。
2024-08-15 19:38:54 1035
原创 cuda学习笔记6--cuda流和锁页式内存的调用
比如说我们现在的任务是要打包1万个商品,并把商品搬到货车上。把线程看成worker工人,在没有流管理的时候,他们就是一起打包,并且等所有人都打包完成后,再所有人一起搬运货物。但是如果有流管理,我们可以把工人分成几部分人,一部分工人负责打包,另一部分负责搬运,这时候打包和搬运工作是可以同时进行的,这就是流并行至于使用流是否可以提升效率,那还得看商品数和工人数,还有打包的难度如果工人很多,打包很简单,那么不用流,这个工作也可以很快完成。
2024-08-15 19:38:16 494
原创 cuda学习笔记(6) windows opencv安装及使用,常见图像处理操作的GPU实现
opencv官网下载opencv包,下载的时候经尽量不要选择带*版本的,这些版本还在持续更新中,然后直接双击按照提示进行安装即可,记住安装的位置目录-》应用(选vc14还是15和你安装的版本有关系)配置VS环境-》项目属性》包含目录:将两个路径添加进去和库目录:在下面路径里面添加到库目录里面点黄色的地方就可以进行编辑C/C++ ->链接期->t附加依赖项目-》将目录下I的添加进入环境。
2024-08-15 19:36:55 754
原创 自然语言处理学习(2)基本知识 文本预处理+文本数据分析+文本增强
合并的原则是有一个核心词,下面案例有些名词比如黄金珠宝营业员,营业员是核心词,围绕这个词,把其周围的类似定语的东西提取出来。注意,要将下载的包放在运行程序一个路径,并且重命名才可以,ner.txt呵pos_tag文件要提前创建,是空文件夹,下面案例,数据库设计,和数据库设计工程师,如果数据库设计工程师在数据库设计后面,那么就不会切出数据库设计工程师的分词。相关包下载,Jar包我没有下载下来,太慢了,这个可下可不下,不下就是默认英文模式。一句话可以调整词频,但是,这个语句一次只能处理一个词。
2024-07-03 21:51:25 1145
原创 cuda 学习笔记4
global// __是GOU函数的标识符,加了__标识这个函数是在GPU上被调用的//这个函数在GPU上是无法调用的,所谓在GPU上,就是定义的在GPU上的函数内调用,因为该函数当前是在CPU上//这个函数是被定义在GPU上,由GPU本身调用的函数,所以加了这个__devide__标识之后,就可以在__global__ void show(int *a)函数里面调用该函数。
2024-06-27 22:01:55 894
原创 自然语言处理基本知识(1)
jieba内部有自己的一个词典库,但是允许用户自己自定义补充词典>>> jieba.lcut("八一双鹿更名为八一南昌篮球队")['八', '一双', '鹿', '更名', '为', '八一', '南昌', '篮球队']>>> jieba.lcut("八一双鹿更名为八一南昌篮球队")['八一双鹿', '更名', '为', '八一', '南昌', '篮球队']cmd常用编辑命令:退出python环境,ctrl+z, 然后回车创建文件:vim写文件。
2024-06-27 10:16:20 672
原创 NLP深度学习环境配置,cuda12.1(我电脑是12.3) + python=3.10 + pytorch==2.1.0 +当前日期下对应的最新的anoconda+ 2022.14pycharm
会出现如下界面,然后选择直接浏览 Anaconda3 安装目录下的 envs 文件夹,找到 DL 目录.,能看到pthon.exe文件,选择。安装提示安装就可以,安装过程会看到他提示你要暗转什么版本的python,我的提示是安装python 11。我的 Anaconda3是安装在了如下的目录里面,然后选择ok。打开pycharm,新建项目,出现如下界面,选择省略号地方。,注册一下,然后如果没有特别需求,直接下载最新的就可以,从anoconda prompt里面退出来。最后执行示例代码,运行成功,
2024-06-26 19:53:46 1805
原创 cuda学习笔记(3)
下面这种写法,对于第一个bin来说,假设输入数据是1:66655,数据1和17都会同时读bin里面的初始计数,然后进行累加,正常来说应该是两个数据同时读了bin1的0,然后同时写一个1进去,最后结果总是1,但是可能机器会出问题,导致最多也就写一个2,先后加了1.前面提到,Block里面的线程运行是同步的,不同kernel各自运行是同步的,kenelA内的东西全部运行结束之后才会运行kernel B,Block的线程同步是需要使用者自己来控制,kernel上的同步运行是GPU自己来实现的。
2024-06-10 18:54:57 764
原创 c++ 练习项目1推箱子
简化写法;提高程序的可移植性宏定义个类型定义的区别;宏定义只是一个简单的替换,下面这个案例中,使用类型定义,定义的变量都是char *变量但是使用宏定义,,只有第一个变量s3被定义char *, 而后者只是char, char *s3, s4。
2024-05-23 10:26:19 577
原创 win10 + wsl2.0 + cuda12.0 + cudnn8.8.1 + MCgpu1.3 安装记录
编译器的终端就可以直接运行mcGPU,同在linux里面打开的终端是一样的功能。使用cd home/我的用户名/MCGPU-master在visual studio code下方的终端里面进入改文件夹,执行就是运行。
2024-05-16 09:32:17 1412
原创 c语言基础笔记(1)进制转换以及++a,a++,取地址和解引用
10101010 - short - 是16个字节,如果前8个全是0就可以省略,此时看正负看的是后面8个字节的第一个数,这里是1表示是负数。01111111 11111111 - char - 将该数据赋值给char类型变量 - 负数。一个字节是8Bit,0x12345678是一个16进制的数据,每一个数对应一4个bit。打印数据的时候,注意数据正负,负数的时候打印要进行一下区分。16自己的数据复制给8字节,前8个字节数据会丢失。short是2个字节,char是一个字节。char默认是signed 类型。
2024-03-21 23:07:39 325
原创 cuda学习笔记(2)
1个warp是32个线程,block内的线程再次进行分组执行,因为资源有限,一个warp内的数据是默认同步的。分支如何工作,只有一个大脑,8个流输入的是同一段代码,有的是t,有的是f,执行t的时候,f只能等待。第1步:为数据分配GPU空间,将数据从cpu上拷贝到GPU上,同时为输出数据分配内存空间。GPU就是将cpu的数据存储单元去掉,也就是保留执行单元,GPU就是多个执行单元。假设只要1个block,block是二维的,i,j对应二维索引。停滞的解决方法:用别的独立的工作,来填满空余时间,延迟掩藏。
2024-02-26 19:07:13 420
原创 CAD/solidwork数据导入geant4
/设置模型大小比例//设置模型与坐标原点的相对位置, Al_mat //引入logicalvolume,设置材料, 0, 0, 0);
2023-12-26 09:33:45 1135
原创 K-edge 和逃逸问题
一 k-eage基本概念1 k-edge概念K-edge称为K边, 其物理意义是高原子序数物质原子内部K层自由电子, 易与特定能量下X射线光子发生光电吸收作用, 导致对该能量的X射线光子吸收特别大。 而K-edge特性表现为X射线与物质发生相互作用时, 其衰减系数随着能量的增加而逐渐减小, 但在特定能量下X射线衰减系数会陡然增加。 不同材料其原子结构不同, 相应的K-edge特性表现也不同。 因此, 利用X射线能谱信息可以分析材料K-edge特性, 有助于判别被检物体的物理性质。常规X-CT(X-ra
2023-11-03 20:47:35 2161
原创 geant4创建自己的physicslist(以电磁物理为例)以及电磁物理相关学习笔记
虽然geant4自定义了很多physics list,但是里面所含有的反应太多太完备,很多都用不到,在知道自己的实验发生哪种物理反应的情况下,就可以自定义一个自己的physics listproduction cut设置的是距离,如果次级例粒子的运行距离小于这个距离,他们就不会被产生,而是以能量沉积的形式被沉积下来。
2023-09-17 21:47:55 1220
原创 geant4 常用代码
可能不是程序问题,把之前的root文件删掉,如果删不掉,就在runAction里面重命名,然后再运行一下,看还是不是空的,我也是很无语,调试一晚上,是因为第一个空的root一直没有被覆盖,。。。
2023-08-30 14:38:46 517
原创 Gate相关记录
(2)在clion官网下载相应的安装包之后,复制到linux系统里面,放在以不同于jetbra的文件下, 解压之后,控制台进入当前文件,一直进入到bin文件中,然后执行 ./clion.sh,等待安装。new TBrowser之后,稍等一会,会打开一个网页,然后在这个网页里面找到自己的root文件所在路劲,就可以可视化自己的root结果了。找到原电脑的ubtunu安装目录,拷贝目录下的.vmx文件和vmdk文件,直接拷贝这个安装目录文件吧,然后拷贝到另外一个电脑。
2023-08-21 11:28:15 584 1
原创 B2a实例学习记录
只是把hit存到了hitcollection,只是统计了各自event结果,将每次event的运行结果存起来了,并没有做总的求和。
2023-07-03 11:57:28 297
原创 Geant4安装记录,15.5.0VMware + 11.0.0G4 + 18..04.1 ubuntu
(1)在CLHEP官网上下载clhep-2.4.5.1.tgz压缩包,直接在linux系统里面解压后将放到自己的工作目录文件夹下:如在home文件下建立自己的文件夹work,对应的文件夹的路径就是 :/home/用户名/work。(3)新建一个文件夹 geant4.11.0,然后在这个文件下建立build文件,intsall文件,data文件(后续解压完成的12个文件都放在这里面),src文件(genat4的源文件解压放在这里面),(3)cd进入clhep-2.4.5.1-build文件夹下,然后执行。
2023-06-07 22:02:54 633
原创 c++ day 7、day8--- 219 存在重复元素ii unordered_set使用学习,暴力及优化
说明: 带&表示传入函数的是vector的引用(即物理位置),函数内部对vector改动,vector就会改变;不带&表示传入的是vector的复制品(开辟了另一块位置),函数内部对其改动,不会影响原本的vector;
2023-03-29 22:35:46 269
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人