Fork me on GitHub

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

pytorch 梳理

unsqueeze增加维度,unsqueeze(1)在第二维增加一个维度。 squeeze压缩维度,只有目标维度大小唯一时可压缩
m.expand(args) 扩展维度 args后几维必须与m的维度一致, 前面剩余参数 从右至左 依次复制增加到目标维度
tensor.repeat(
size) : size参数从左往右 复制扩展成对应份 包裹当前维,再依次处理外维

ts.masked_fill_(mask,value):在 mask 值为1/true 的地方, 用value填充。注意ts与mask尺寸相同

nn.Model

# 如何查看模型参数,3种方式
model.state_dict()
for name, param in model.named_parameters():
for param in model.parameters():

nn.Softmax(dim):进行归一化的维度,-1选取最后一维
word_embedding:通过所给词典计算每个词的独特向量(nn.Embedding(词典长度 ,维度),均值为0 , 方差为1)在后续计算中都会被缓存,除非重新生成nn.Embedding

.matmul(t1 , t2):返回 t1* t2转置

sh run.sh IP:nums
gpus:使用哪几张GPU卡
num_nodes:使用哪几台机器
world_size= expr $num_gpus * $num_nodes 总共多少张卡
当num_nodes不为1时
需要手动启动 num_nodes 台机器,
如: sh run.sh IP 0 sh run.sh 1 , 启动完后会自动计算 world_size 是否符合设置,否则超时报错

DDP模式:多机(由Python GIL:全局解释器锁原理,每台机器一个进程)多卡,不同机器间:ring-reduce后向计算
DP:多卡下,一个master卡,汇总并计算其它卡的数据(DDP下num_nodes=1 实际效果等同DP)

posted @ 2022-03-22 22:50  365/24/60  阅读(13)  评论(0编辑  收藏  举报