- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 PyTorch-Tensor学习
张量(Tensor)是一种特殊的数据结构,与数组和矩阵非常相似。在PyTorch中,我们使用张量来编码模型的输入和输出,以及模型的参数。张量类似于NumPy的ndarrays,除了张量可以在GPU或其他硬件加速器上运行。事实上,张量和NumPy数组通常可以共享相同的底层内存,从而消除了复制数据的需要。Tensor还针对自动微分进行了优化。
2024-05-07 16:08:47
312
原创 并行计算、计算机、程序
并行计算机是支持并行计算的多处理器计算机系统。多计算机和集中式多处理器(SMP)是两种主要的并行计算机。多计算机是由多台计算机和互联网络组成的并行计算机。不同计算机上的处理器之间通过传递消息来互相通信。相反,集中式多处理器是继承的更加紧密的系统。系统中的所有CPU共享全局内存,并通过共享内存支持处理器之间的通信和同步。并行程序设计是使用程序设计语言显式地说明计算中不同部分如何在不同处理器上同时执行。MPI是消息传递库的标准。几乎所有的并行计算机都支持该标准通信库。
2024-05-07 15:20:08
316
原创 刷题-快速排序
著名的快速排序算法里有一个经典的划分过程:通常采用某种方法取一个元素作为,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。给定一个的正整数序列,请问有多少个元素可能是划分过程中选取的?并按升序输出这些主元。解答要求时间限制:1000ms, 内存限制:256MB输入第 1 行一个正整数 N,表示正整数序列的长度,取值范围 [1, 10^5]第 2 行 N 个互不不同的正整数,每个数的取值范围[1, 10^9]输出按升序排列的可能主元的列表,以单个空格分隔;或者空列表。
2024-05-07 10:21:43
215
原创 刷题-关键字标识
解答要求时间限制:1000ms, 内存限制:256MB输入第1行一个整数 count,表示 words 中的关键词的个数,取值范围:[1, 64]第2行 count 个字符串,表示关键字词列表 words,每个关键词仅含英文小写字母,长度范围:[1,16]第3行一个字符串 inputStr,仅含英文小写字母(无空格),长度范围:[1,512]输出一个用最少关键词标签标记的字符串样例输入样例 14opqracdfg输出样例 1提示样例 1处理后为,使用了 2 个标签。
2024-05-07 09:53:15
423
原创 刷题-简易Linux路径解析
cd/home/usercd -cd <绝对路径>cd <相对路径>////a/a/a/./a../a/..cd -..解答要求时间限制:1000ms, 内存限制:128MB输入首行一个整数 n,表示 cd 命令的个数,取值范围:[1,100]接下来 n 行,每行一条 cd 命令,长度范围 [1, 100],其中目录名仅由小写英文字母 [a-z] 组成输出一个字符串,表示最终目录的绝对路径。样例输入样例 13cd ./ee/ff输出样例 1提示样例 1输入样例 22。
2024-05-07 09:52:18
362
1
原创 C++去除字符串中的空格
使用remove_if和erase去除string中的空格。同样的方法也可以去除string中的某个字符,例如'e'。
2024-05-06 10:59:50
1084
原创 C++ STL—容器 set
首先加入头文件定义和初始化set a;//定义一个int类型的集合a//定义集合b,用集合a初始化集合b//定义集合b,将集合a中的所有元素作为集合b的初始值// 定义集合a,用数组n的前5个元素作为集合a的初值。
2024-04-17 14:40:20
357
原创 C++智能指针
C++智能指针是一种用于管理动态分配的内存的特殊类型的指针。智能指针是通过类来实现的,它提供了自动管理内存的功能。C++中常见的智能指针包括std::unique_ptr、std::shared_ptr和std::weak_ptr头文件: #include <memory>c++98智能指针,已在C++11中弃用。auto_ptr具有一些限制和缺陷,例如不能在容器中存储auto_ptr对象,不能进行拷贝操作等,auto_ptr,而是使用更安全和功能更强大的智能指针类如unique_ptr。
2024-04-01 20:21:38
1568
原创 卡方检验-
是一种统计量的分布,在零假设成立时近似服从卡方分布的假设检验。卡方检验可用于确定观察到的字符频率的整体集合,是否与预期的字符频率异常不同(与正常的随机变化相比)。
2024-03-30 15:29:08
302
原创 MegaScale:字节万卡集群
随着训练集群扩展到超过数万个GPU,软件和硬件故障几乎不可避免。字节引入了一个健壮的训练框架,实现了和,在最少的人为干预下实现了容错,并且对正在进行的训练任务的影响可以忽略不计。
2024-03-30 15:23:05
2250
原创 机器学习中的参数量
可以说,深度学习在到达语言处理之前(大约2011-2013年)就开始在计算机视觉中激增,然而,第二个的参数数量远远超过了今天第一个的参数数量。特别是,在2016-2018年间,语言模型规模的增长趋势明显大大加快了其速度,达到了4到8个月的翻番时间。从2000年到2016-2018年,所有领域模型的翻倍率在18至24个月之间,在2016-2018年以后,语言模型领域的翻倍率在3至5个月之间。决定模型大小的是规模的回报;在更复杂的领域中,我们应该期望更低的有效模型大小,因为模型在其他方面受到更多的约束。
2024-03-26 15:56:27
389
原创 AI和算力(from OpenAI)
OpenAI发布的一项分析显示,自2012年以来,最大的人工智能训练运行中使用的计算量呈指数级增长,翻倍时间为3.4个月(相比之下,摩尔定律的翻倍时间为2年)。自2012年以来,这一指标增长了30多万倍(两年的翻倍期只能产生7倍的增长)。计算能力的提高是人工智能进步的一个关键组成部分,因此,只要这一趋势继续下去,就值得为远远超出当今能力的系统的影响做好准备。训练相对知名的模型的总计算量(以petaflop/s-day为单位)需要使用大量计算时间,并提供了足够的信息来估计使用的计算量。
2024-03-26 15:26:17
1182
原创 进程间通信—Socket
业务上,C++编写的进程A和GO编写的进程B,需要在同一设备内通信。为此测试不同通信方式的性能。在这个实验里,测试用socket实现进程间通信的性能,读写都使用单线程。
2024-03-23 15:35:47
291
原创 进程间通信—命名管道
业务上,C++编写的进程A和GO编写的进程B,需要在同一设备内通信。为此测试不同通信方式的性能。这里创建了4个,1个用于单线程测试中,另外3个用于多线程测试中。管道数和线程数最好相等,否则需要使用锁,影响性能。每次测试发送100w条32字节的数据。可以指定发送数据的线程数,最大是3运行的第一个参数为发送数据使用的线程数。
2024-03-23 14:53:38
300
原创 C++ STL简介(标准模板库)
STL(Standard Template Library)标准模板库, 它提供了一组通用的模板类和函数,用于实现常见的数据结构和算法。使用STL可以:提高开发效率:STL提供了丰富的数据结构和算法,开发人员可以直接使用这些现成的组件,而不需要重复地实现和测试相同的数据结构和算法,从而提高了开发效率。提高代码的可维护性和可重用性:STL的模板类和函数都是经过精心设计和测试的,具有高度的可维护性和可重用性。开发人员可以直接使用STL提供的组件,而无需自己编写和维护这些代码。
2024-03-21 08:30:06
251
原创 Kafka
kafka是一个消息系统,原本开发自LinkedLn,用于其活动流和运营数据处理管道的基础,现已被广泛使用,作为多种类型的数据管道和消息系统。
2024-03-21 08:23:10
329
原创 C++的嵌套类
定义嵌套类的初衷是建立仅供某个类的成员函数使用的类。目的在于隐藏类名,减少全局标识符,从而限制用户能否使用该类建立对象。可以提高类的抽象能力,并且强调两个类之间的主从关系。在一个类中定义另一个类,被嵌套的类的作用域只在它的上一级类中。
2024-03-14 09:44:12
433
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人