自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式训练loda模型报错

然后遍历原始state_dict中的每个键值对。在每个键名前面添加"module."前缀,然后将处理过的state_dict加载到模型中。去除每个键名"module."前缀,然后将处理过的state_dict加载到模型中。这样做的目的是确保在load分布式训练中保存的模型时,将键名中的".module"前缀去除掉,以匹配模型的结构。这样做的目的是确保在分布式训练中加载模型时,将键名中的".module"前缀添加回来,以匹配模型的结构。以上代码首先创建一个空字典。以上代码首先创建一个空字典。

2023-12-02 11:40:46 433

原创 torch.rand()和torch.randn()的用法

2.torch.randn() 生成从标准正态分布(均值为0,标准差为1)中采样的随机数。也可以说生成的张量中的元素符合标准正态分布。内的任何值都有可能被生成,包括所有的实数值。torch.rand() 和torch.randn() 都是用来生成随机张量的函数。生成的是从标准正态分布中采样的随机数,因此它的值可以在负无穷到正无穷之间,而。内均匀分布的随机数是一种随机数生成方式,其中生成的随机数在区间。的随机数,也可以说生成的张量中的元素符合均匀分布。内的任何值都具有相同的概率分布。

2023-11-10 10:45:21 803

原创 PyTorch中flatten() 函数的用法

此时x的维度是2×3×4=24,x = flatten(0) 和 x = flatten()的结果相同。被设置为0,表示从第一个维度(通常是批大小)开始展平。如果设置为其他整数值,则会从指定的维度开始展平。1.start_dim(可选参数):指定从哪个维度开始展平张量。被设置为-1,表示展平直到最后一个维度。如果设置为其他整数值,则会在指定的维度结束展平。此时x是从1维度开始展开,最后的x维度为(2,3×4),也就是(2,12)(1). 首先随机定义一个满足正态分布的(2,3,4)的数据x。

2023-11-07 11:55:24 540

原创 PyTorch中veiw(),reshape() 的用法及其区别

PyTorch的reshape函数返回的是原始张量的新视图,而不是副本,因此原始张量和新形状的张量共享相同的数据。同样的理由,不能将形状为(3,3)的张量reshape为形状为(1,8)的张量,原因也是元素总数不一样。x = x.view(x.size(0), -1) 就是将网络的上一层输出的shape从第一维度开始将后面的维度展平,例如:前一层的输出shape是(1,512,1,1)经过x = x.view(x.size(0), -1)之后就变成了(1,512)此外,当需要改变张量形状时,建议优先使用。

2023-11-07 10:48:54 249

原创 单卡训练改为DistributedDataParallel训练

2.DistributedDataParallel (DDP):All-Reduce模式,本意是用来分布式训练(多机多卡),但是也可用于单机多卡。是新一代的多卡训练方法。torch.distributed 库提供分布式支持,包括 GPU 和 CPU 的分布式训练支持,该库提供了一种类似 MPI 的接口,用于跨多机器网络交换张量数据。DDP通过Ring-Reduce的数据交换方法提高了通讯效率,并通过启动多个进程的方式减轻Python GIL的限制,从而提高训练速度。但速度较慢,且存在负载不均衡的问题。

2023-11-02 17:15:35 82

原创 Python中得isinstance()函数

这时会发现,创建一个A对象,再创建一个继承A对象的B对象,使用 isinstance() 和 type() 来比较 A() 和 A 时,由于它们的类型都是一样的,所以都返回了 True。而B对象继承于A对象,在使用isinstance()函数来比较 B() 和 A 时,由于考虑了继承关系,所以返回了 True,使用 type() 函数来比较 B() 和 A 时,不会考虑 B() 继承自哪里,所以返回了 False。isinstance()函数是类似于type()函数的python内置函数,

2023-09-05 11:26:48 169 1

原创 解决报错: RuntimeError: [enforce fail at /pytorch/third_party/gloo/gloo/transport/tcp/device.cc:127] rp

分布式训练前,终端先执行:export NCCL_SOCKET_IFNAME=lo。提示我找不到 my_username地址。

2023-08-16 15:57:25 417 1

原创 c语言,c++语言中常用的一些占位符:%d,%f,%p,%s,%c等的含义及其解释

mf:输出的数据占m列,如字符串本身长度大于m,则突破获m的限制,将浮点型对象全部输出。%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。%-m.nf:其中m,n含义同上,m为输出的宽度,n为保留小数位数,若浮点型对象长小于m,则在m列范围内,m前为负,浮点型对象左对齐,右补空格。%-mf:如果浮点型对象的长度小于m,则在m列范围内,m前为负,浮点型对象左对齐,右补空格。%m.ns:输出占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格。

2023-07-27 21:02:56 8634 1

原创 Pytorch中permute(),transpose(),view()函数

比如原向量中(1, 2, 3, 4),1的下标是0,2的下标是1,3的下标是2,4的下标是3;**这个意思不是torch.transpose()只能作用于二维向量,它的意思是一次只能进行两个维度的转置,如果需要多个维度的转置,那么需要多次调用transpose()。2.维度变换函数是进行的浅拷贝操作(只复制了指像某个对象的指针,新旧对象还是共享同一块内存)即view操作会连带原来的变量一同变形,这是不合法的,所以也会报错;而tensor.view()维度变形函数的要求是需要Tensor的内存连续。

2023-07-26 11:19:43 415 1

原创 numpy.empty的用法

不同,它不会将数组值设置为零,因此可能会稍微快一些。另一方面,它需要用户手动设置数组中的所有值,应谨慎使用。依给定的shape, 和数据类型 dtype, 返回一个一维或者多维数组,order:是否在内存中以C或fortran(行或列)顺序存储多维数据。dtype:指定输出数组的数值类型。shape:返回空数组的维度。,为随机产生的数据。

2023-07-14 10:45:53 244 1

原创 实现二维数组或多维数组排序得方法

意思根据给定参数从最后一个参数开始进行排序,如果最后一个参数给定的值相同,则根据倒数第二个参数进行排序,以此类推。例:mat= [1.+2.j 3.+4.j 5.+6.j]实部: [1. 3. 5.] 相当于:np.real。虚部: [2. 4. 6.] 相当与:np.imag。((a[:,1],a[:,0]))是一个。,先用实部,然后用虚部排序一个复杂数组。

2023-07-11 10:36:29 118

原创 qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.(解决办法)

报错:(在以安装pyqt5的情况下)环境:ubuntu16.04。

2023-06-16 09:37:46 4879 10

原创 torch.cat ( )和 np.concatenate() 的用法

axis参数为指定按照哪个维度进行拼接,上述的例子中A为[2,3] B为[2,3],设置axis=0则代表着按照第一维度进行拼接,拼接后的尺寸为[4,3]除了第一维度的尺寸发生变化,其他维度不变,同时也说明,必须保证其他维度的尺寸是能对的上的,如果x1为[5,4],x2为[5,3],在这里如果还设置axis=1的话,则会报错,因为x1和x2的第二维度尺寸不相等,无法拼接。E=torch.cat((A,D),0)就表示按维数0(行)拼接A和B,也就是竖着拼接,A上B下。即所谓的维数0和维数1.

2023-06-12 20:35:48 1213

原创 np.maximum()的用法

用于逐元素比较两个array的大小。

2023-06-12 15:11:00 513

原创 np.where() 和 np.argwhere()的用法

1.np.where(condition,x,y) 当where内有三个参数时,第一个参数表示条件,当条件成立时where方法返回x,当条件不成立时where返回y。

2023-06-07 12:00:29 1724 1

原创 【torch.nn.init】初始化参数方法解读

稀疏矩阵:将2D输入张量填充为稀疏矩阵,其中非零元素将从正态分布N ( 0 , 0.01 ) N(0,0.01)N(0,0.01)中提取。正态分布:从给定均值和标准差的正态分布N(mean, std)中生成值,填充输入的张量或变量。xavier_normal 分布:用一个正态分布生成值,填充输入的张量或变量。kaiming_normal 分布:用一个正态分布生成值,填充输入的张量或变量。均匀分布: 从均匀分布N(a,b)中生成值,填充输入的张量或变量。正交矩阵:用一个(半)正交矩阵填充输入张量。

2023-04-27 11:25:45 2301

原创 python——numpy中 np.std( )的用法

dtype: dtype, 可选,用于计算标准差的类型。对于整数类型的数组,缺省值为Float 64,对于浮点数类型的数组,它与数组类型相同。out: ndarray, 可选,将结果放置在其中的替代输出数组。它必须具有与预期输出相同的形状,但如果有必要,类型(计算值的类型)将被转换。axis: int, 可选,计算标准差的轴。默认情况是计算扁平数组的标准偏差。计算沿指定轴的标准差。返回数组元素的标准差。x: array_like,需计算标准差的数组。ddof: int, 可选,Delta的自由度。

2023-04-26 20:06:59 1306

原创 python torch.div( ) 函数使用说明

参考链接: torch.div() 二.解释: Divides each element of the input input with the scalar other and returns a new resulting tensor. outi = inputi / other if input is of type FloatTensor or DoubleTensor ,other should be a real number, othe

2023-04-24 16:14:40 668

原创 Python [ ]、[:]和[::]的用法

例如 str_list[1:4] 表示访问 str_list 序列中的第二到第四个元素 (str_list[1],str_list[2],str_list[3]),不包含 str_list[4] 元素。str_list[:4] 表示访问这个序列的第一到第四个元素 (不包含 str_list[4] 元素),str_list[4:] 表示访问第五到最后一个元素。翻转序列的元素,例如 str_list[::-1] 表示翻转取序列中的元素, str_list 序列中的元素。[ ]: 主要是取序列中的一个元素,

2023-04-23 10:51:25 7426 3

原创 python combinations()函数

Python 中的itertools模块主要时创建一个迭代器,返回iterable中所有度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序。

2023-04-13 15:09:16 790 1

原创 Linux安装nvidia遇到的问题you appear to be running an x server please exit x before installing

对于其他的 linux 版本,如果桌面系统是基于 gdm 类型,应该把命令中的 lightdm 改为 gdm 即可;非这两种桌面系统类型的,百度一下你的 linux 版本关闭 X 服务的相关命令吧。查看哪些程序在占用nvidia.nvm就可以了,可直接通过 sudo kill -9 [`pid`] 杀死相对应的进程即可。之后就会安装成功,本人安装时遇到了这两个问题,如有其他问题欢迎大家提出。可直接重启服务器解决此问题。kill 杀不死的进程。下载自己对应的版本即可。

2023-04-11 11:04:30 10242 1

原创 yaml.load()报错 TypeError: load() missing 1 required positional argument: ‘Loader’ 的解决方案

由报错信息可见:yaml的load函数缺少"Loader"这个参数,这是因为 yaml 5.1 版本后弃用了 yaml.load(file) 这个用法。Yaml 5.1 之后的版本为了加强安全性要求指定具体的 Loader,禁止执行任意函数。以上两种方法任意一即可。

2023-04-07 15:14:36 1051

空空如也

空空如也

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

TA关注的人

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