语音增强用到的方法总结

1.有关路径和文件的操作

	os.mkdir()和os.makedirs() 第一个是创建单级目录,第二个可以创建多级目录
	os.path.join() 连接路径
	os.path.exist() 判断路径是否存在
	y,sr = librosa.load(wav,sr=None),对音频进行导入,可以指定sr的值
	a.equal(b)  判断两个tensor是否完全一样 
  1. rang(起点,终点,步长)

  2. 如何写一个dataloader
    继承Dataset类,这个类类似于c++中的虚基类,源码如下:
    在这里插入图片描述
    __getitem__就是给一个item然后获取到对应的标签
    len 就是获取到数据集的个数

  3. tqdm:是一个快速的,易扩展的进度条提示模块,另外在西班牙语中还有I love you so much的意思

    pbar = tqdm(train_loader, desc='Epoch: {}'.format(epoch + 1), ncols=100)
    

    参数:iterable=None,
    desc=None,进度条前面的提示
    total,迭代元素的多少
    leave,如果是true显示所有的进度条,如果是None只显示第一个
    file,指定输出的路径
    ncols,输出信息的宽度
    mininterval=0.1 最小进度显示更新间隔
    maxinterval 最大进度显示更新间隔
    miniters 在迭代中显示最小进度的间隔

  4. torch.unsqueeze()
    squeeze是降维,unsqueeze是升维。

    clean = torch.unsqueeze(clean,dim=1)
    
  5. nn.Conv1d参数解析

torch.nn.Conv1d(in_channels,       "输入图像中的通道数"
                out_channels,      "卷积产生的通道数"
                kernel_size,       "卷积核的大小"
                stride,            "卷积的步幅。默认值:1"
                padding,           "添加到输入两侧的填充。默认值:0"
                dilation,          "内核元素之间的间距。默认值:1"
                groups,            "从输入通道到输出通道的阻塞连接数。默认值:1"
                bias,              "If True,向输出添加可学习的偏差。默认:True"
                padding_mode       "'zeros', 'reflect', 'replicate' 或 'circular'. 默认:'zeros'"
                )
  1. ConvTranspose1d,转置卷积(上采样)
  2. nn.GroupNorm:在这里插入图片描述

动态更新学习率

torch.optim.lr_scheduler.ReduceLROnPlateau()
在这里插入图片描述
schedular.step(val_loss) 里输入的val_loss是否减小来更改lr的值的

进度条tqdm

# 方法1
for i in tqdm.tqdm(可迭代对象):
	pass

# 方法2
for idx, i in enumerate(tqdm.tqdm(可迭代对象)):
	pass

detach()

detach()就是返回一个新的tensor,并且这个tensor是从当前的计算图中分离出来的。但是返回的tensor和原来的tensor是共享内存空间的。举个例子:如果A网络的输出被喂给B网络作为输入, 如果我们希望在梯度反传的时候只更新B中参数的值,而不更新A中的参数值,这时候就可以使用detach()

使用优化器

这三个函数的作用是先将梯度归零(optimizer.zero_grad()),然后反向传播计算得到每个参数的梯度值(loss.backward()),最后通过梯度下降执行一步参数更新(optimizer.step())

items() 函数以列表返回可遍历的(键, 值) 元组数组。

nn.conv1d的计算公式

在这里插入图片描述

nn.ConvTranspose1d 的计算公式

一维反卷积计算公式

搭建Conda环境版本注意事项

  1. CUDA有两种,一种是运行api(cudaTool kit) ,还有一种是叫驱动api(就是显卡驱动的版本),我们常说的CUDA是指驱动api
  2. 看驱动CUDA的版本是多少
  3. 看pytorch版本(一定要下载GPU版本),一般会自带运行api(cuda Tool kit)
  4. 看cudnn版本,用来针对加速神经网络
    搭建conda环境注意事项

常见变量的写法

在这里插入图片描述

短时傅里叶变换

计算公式
推导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强大的RGG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值