自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 注意力机制简单实现

上述代码中,SelfAttention 是一个自注意力模块,包含了查询、键、值的权重矩阵和多头注意力权重矩阵。forward 函数中,首先对输入序列 x 进行查询、键、值的计算,然后将每个头的张量拆分成多个头,并交换维度。接下来,计算注意力权重和注意力输出,最后计算多头注意力输出,并返回输出张量和注意力权重张量。在上述代码中,计算注意力权重的语句是。

2023-04-03 09:57:05 142

原创 进程(重新修行)

fork系统调用:fork系统调用用于创建一个新的进程,新的进程与原进程具有相同的代码和数据,但是在执行时拥有独立的执行环境。具体实现过程为:操作系统复制原进程的PCB,创建新的进程,并为其分配独立的进程ID,同时复制原进程的内存映像、打开的文件等资源,并将复制后的PCB和资源指向新进程。当其他进程需要创建新的进程时,它们可以通过调用操作系统提供的进程创建函数,例如fork(),从而创建新的子进程,新的子进程的父进程就是调用fork()函数的进程。因此,程序是进程的基础,进程是程序的实例化。

2023-03-29 16:07:45 61

原创 C++知识学习

在程序中添加适当的断言语句,可以帮助我们检测程序中的错误,并在出错时快速终止程序。(1)使用调试工具:使用常见的调试工具,如 gdb、valgrind、Intel VTune 等,可以帮助我们定位程序中的问题。(3)合理使用线程池:线程池是一种重用线程的机制,可以避免频繁地创建和销毁线程,提高程序的性能。需要注意的是,在 C++ 中,异常处理机制会带来一些性能开销,因此应该尽量避免不必要的异常,只在必要时使用。类可以创建多个线程,同时也提供了一些同步和互斥机制,以确保多个线程之间的协同工作。

2023-03-28 19:19:34 54

原创 C++一直以来困扰我的点

使用引用类型可以避免进行不必要的拷贝,提高代码效率。如果没有使用引用类型,而是使用值类型,那么函数会在调用时进行一次对象的拷贝,如果传递的对象很大,这会浪费大量的时间和内存。在 C++ 中,使用 const & 作为函数参数类型时,const 起到了保护被引用的变量不被修改的作用,而 & 则表示函数参数是一个引用类型。下面分别解释一下它们的作用。这样可以避免无意间修改变量的值,提高程序的安全性。因此,使用 const & 作为函数参数类型可以避免不必要的对象拷贝,并保证参数只读,同时提高代码效率和安全性。

2023-03-28 11:53:26 48

原创 面经帖(二)

需要注意的是,epoll机制对于大量的文件描述符和事件类型有很好的扩展性,它通过红黑树和双向链表等数据结构来管理文件描述符和事件,并且使用了惊群问题的解决方法,从而避免了select和poll机制在高并发情况下的性能问题。虚函数表指针(vptr)的大小:如果一个类中包含了虚函数,则每个对象都需要包含一个指向虚函数表的指针,这个指针的大小通常是一个机器字长的大小(32 位系统为 4 字节,64 位系统为 8 字节)。因此,类中的成员变量可能会按照一定的对齐方式进行内存分配,从而影响类的大小。

2023-03-26 10:17:20 76

原创 面经准备(一)

多进程(多线程)在同时阻塞等待同一个事件的时候(休眠状态),如果等待的这个事件发生,那么他就会唤醒等待的所有进程(或者线程),但是最终却只能有一个进程(线程)获得这个时间的“控制权”,对该事件进行处理,而其他进程(线程)获取“控制权”失败,只能重新进入休眠状态,这种现象和性能浪费就叫做惊群效应。在访问内存时,操作系统先根据虚拟地址的高位找到页目录表,然后再根据页目录表中的一个页表项找到对应的页表,最终找到对应的页表项,计算出物理地址。这个过程是同步的,即在read()方法返回之前,线程将一直阻塞。

2023-03-25 13:23:25 31

原创 使用C++进行MongoDB操作

它接受一个集合名称和一个聚合管道(Aggregation Pipeline)作为参数,根据聚合管道的定义,从指定的集合中抽取数据,并生成一个虚拟的文档集合。该函数在插入成功后返回一个InsertOneResult对象,可以通过该对象获取插入的文档的_id值和操作结果等信息。函数是旧版本MongoDB C++驱动程序中的函数,用于将一个或多个文档对象插入到MongoDB数据库中。它接受一个文档对象或文档对象数组作为参数,并将这些文档对象插入到指定的集合中。函数是用于插入单个文档对象的函数,

2023-03-24 18:16:59 918

原创 力扣磨题记录

感觉不系统,昨天在知识星球上购买了代码随想录的会员,今天决定按照上面的刷题指南走一波,然后再做剑指offer和热题100,如果能做完,再之后就再制定其他计划。所以它不执行第二次循环,代码一看,“哦?但我愿意死磕,就像昨晚我梦见我自己变成骑兵连的一员,其实在梦里我真的害怕了,可以逃跑也可以投降,但我选择跟敌人死磕!int取值范围:int占的是4个字节,一个字节8位,也就是32位,取值范围是-2^31 ---- 2^31-1。第一种办法是我自己写的,用迭代器操作,速度击败100%,内存击败95%。

2023-03-10 15:02:42 77 1

空空如也

空空如也

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

TA关注的人

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