摘要: 注意,以下代码仍受到数值精度(numerical accuracy)的影响。import soundfile as sfimport numpy as npimport torchaudioimport torchimport librosaif __name__ == '__main__': np 阅读全文
posted @ 2024-03-13 17:20 Real_Tourist 阅读(445) 评论(0) 推荐(0)
摘要: torch.nn.DataParallel是一种能够将数据分散到多张显卡上从而加快模型训练的方法。 它的原理是首先在指定的每张显卡上拷贝一份模型,然后将输入的数据分散到各张显卡上,计算梯度,回传到第一张显卡上,然后再对模型进行参数优化。 所以,第一张显卡的负载往往更高,但由于该方法集成度高,书写简便 阅读全文
posted @ 2022-08-07 14:18 Real_Tourist 阅读(3251) 评论(0) 推荐(0)
摘要: 一、 autocast是pytorch实现的一种用于降低训练时显存消耗的技术。(仅在GPU上训练时可使用) 它的原理是用更短的总位数来保存浮点数,能够有效将显存消耗降低,从而设置更大的batch来加速训练。 但这样会导致有效位数减少,不可避免地造成精度的丢失,最终模型的收敛效果也会变差。 因此,使用 阅读全文
posted @ 2022-08-07 14:00 Real_Tourist 阅读(2661) 评论(0) 推荐(0)
摘要: torch.optim中的优化器接收的待学习参数和学习率实际上都是字典型的数据。 因此,我们只需要将需要单独训练的模块和对应的学习率以字典形式传入即可。 例如: 此处,我们有模型model,其中包含part_1和part_2两个子模块,我们想要分别对其设置0.01与0.02的学习率,于是我们可以按照 阅读全文
posted @ 2022-08-07 11:21 Real_Tourist 阅读(933) 评论(0) 推荐(0)
摘要: 有三种方式可以进行调试: 一、print() 利用print()输出自己想要查看的内容到控制台,但该方法每次运行都会完整运行程序,并且需要提前设定想要查看的内容,非常不方便。 二、pdb.set_trace()(推荐) import pdb ... pdb.set_trace() # 想要断点的位置 阅读全文
posted @ 2022-07-25 16:42 Real_Tourist 阅读(520) 评论(0) 推荐(0)
摘要: RuntimeError: Error(s) in loading state_dict for Sequential: 该错误通常与使用了nn.DataParallel进行训练有关 是指模型中的参数key中字符串与torch.load获取的key中字符串不匹配 因此,我们只需要修改torch.lo 阅读全文
posted @ 2022-07-24 16:09 Real_Tourist 阅读(3192) 评论(0) 推荐(0)
摘要: 一、动量(momentum) 可以给优化器加上一个动量,可以有效缓解局部最优问题。 原理上就是让优化过程从 W = W - lr * dW 变成 V = momentum * V - lr * dW W = W + V 使用示例: from torch import optim ... model 阅读全文
posted @ 2022-07-22 15:58 Real_Tourist 阅读(1939) 评论(0) 推荐(0)
摘要: 安装ffmpeg需要yasm,lame,nasm,libx264等等 一、下载所需文件的压缩包 此处给出压缩包的下载地址 1. yasm: http://yasm.tortall.net/Download.html 笔者下载的为yasm-1.3.0.tar.gz 2. lame: https://j 阅读全文
posted @ 2022-07-18 21:40 Real_Tourist 阅读(1174) 评论(0) 推荐(0)
摘要: 一、后台运行命令:nohup 示例: nohup python3 -u xxx.py >> xxx.txt 2>&1 & -u(可选,指不开启缓冲区,xxx.txt实时更新) 2>&1(2为错误输出,1为标准输出,整体意思是将错误输出重定向到标准输出中,然后输入到指定文件中) 末尾的&(指后台运行) 阅读全文
posted @ 2022-07-14 09:54 Real_Tourist 阅读(2267) 评论(0) 推荐(0)
摘要: 目前常见的有两种方法: 一、保存和加载整个模型:torch.save() + torch.load() 示例: torch.save(model, '/path/xxx.pth') model = torch.load('/path/xxx.pth') 二、仅保存和加载参数:torch.save() 阅读全文
posted @ 2022-07-04 09:26 Real_Tourist 阅读(860) 评论(0) 推荐(0)