• 语音增强用到的方法总结


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

    	os.mkdir()和os.makedirs() 第一个是创建单级目录,第二个可以创建多级目录
    	os.path.join() 连接路径
    	os.path.exist() 判断路径是否存在
    	y,sr = librosa.load(wav,sr=None),对音频进行导入,可以指定sr的值
    	a.equal(b)  判断两个tensor是否完全一样 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    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)
      
      • 1

      参数: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)
      
      • 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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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环境注意事项

    常见变量的写法

    在这里插入图片描述

    短时傅里叶变换

    计算公式
    推导

  • 相关阅读:
    pytest + yaml 框架 -56. 输出日志优化+allure报告优化
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    Flink自定义sink并支持insert overwrite 功能
    【Python】创建和解包归档文件
    Linux下的IMX6ULL——开发板基本操作(二)
    Docker-简介,安装,测试
    文献信息学
    深入了解 TiDB SQL 优化器
    PHP 5 Filesystem 函数
    HP惠普暗影精灵9笔记本电脑OMEN by HP Transcend 16英寸游戏本16-u0000原厂Windows11系统
  • 原文地址:https://blog.csdn.net/qq_43964318/article/details/126855549