
pytorch
文章平均质量分 51
kaims
perceive and discern, catch and release
展开
-
argparse 命令行传 list 类型参数
错误示范(不建议使用, 不方便动态传参):import argparseparser = argparse.ArgumentParser()parser.add_argument('--alpha', type=list, default=[0.35, 0.25, 0.40])args = parser.parse_args()if __name__ == '__main__': print(args.alpha)正确样例一:import argparseparser = ar转载 2021-10-26 20:56:10 · 4248 阅读 · 0 评论 -
pytorch之detach()函数理解
https://blog.youkuaiyun.com/qq_27825451/article/details/95498211https://blog.youkuaiyun.com/weixin_33913332/article/details/93300411?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-4.no_search_link&depth_1-utm_source=distribute.pc原创 2021-10-11 22:52:16 · 20393 阅读 · 0 评论 -
pytorch中的loss计算
NLLLoss & CrossEntropyLosscrossentropyloss = softmax + log + nlllossL=−1N∑ipilgqiL=-\frac{1}{N}\sum_i{p_i\lg q_i}L=−N1i∑pilgqipip_ipi 真实labelqiq_iqi 预测lable概率def test_NLLLoss(): m = nn.LogSoftmax(dim=-1) loss = nn.NLLLoss() #原创 2021-10-10 19:14:17 · 1357 阅读 · 0 评论 -
pytorch的leafnode理解
https://blog.youkuaiyun.com/Azahaxia/article/details/117234505https://blog.youkuaiyun.com/byron123456sfsfsfa/article/details/92210253设置requires_grad=True的tensor会计算梯度,但是并不会为所有requires_grad=True的tensor保存梯度。因为为了减少显存/内存占用,我们不会保存中间计算过程中产生的tensor的梯度。所以,有了叶子节点的概念。当且仅当tenso原创 2021-10-07 18:41:21 · 448 阅读 · 0 评论 -
使用BERT和GPT-2计算句子困惑度PPL
定义BERThttps://github.com/xu-song/bert-as-language-modelhttps://stackoverflow.com/questions/63030692/how-do-i-use-bertformaskedlm-or-bertmodel-to-calculate-perplexity-of-a-sentencehttps://github.com/ymcui/Chinese-BERT-wwm对于给定的sentence,按顺序依次mask掉一个token原创 2021-09-29 00:10:14 · 11357 阅读 · 13 评论 -
pytorch DDP加速之gradient accumulation设置
pytorch DDPhttps://zhuanlan.zhihu.com/p/250471767gradient accumulation在梯度累加的情况下,假设一次梯度累加循环有accumulation_steps个step,每次梯度累加循环会进行K次 all_reduce,但事实上,每次梯度累加循环只会有一次 optimizer.step(),即只应用一次参数更新,这意味着在每一次梯度累加循环中,我们其实只要进行一次gradient all_reduce即可满足要求,有accumulation_原创 2021-09-27 23:42:13 · 3326 阅读 · 0 评论 -
pytorch with Automatic Mixed Precision(AMP)
PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解 - 知乎Automatic Mixed Precision examples — PyTorch 1.9.1 documentationtorch.cuda.amp 提供了较为方便的混合精度训练机制: 用户不需要手动对模型参数 dtype 转换,amp 会自动为算子选择合适的数值精度 对于反向传播的时候,FP16 的梯度数值溢出的问题,amp 提供了梯度 scaling 操作,而且在优化器更新参数前,会自动原创 2021-09-27 20:24:47 · 617 阅读 · 0 评论