语音识别(2):KWS数据集代码分析

数据集分析

kws的语音数据为该数据集有 30 个短单词的 65000 个长度 1 秒钟的发音。

这是Google的一个语音数据集
下载地址:http://download.tensorflow.org/data/speech_commands_v0.01.tar.gz
下载后得到文件 speech_commands_v0.01.tar.gz

训练集包含51088 个 wav 音频文件
验证集包含6798 个 wav 音频文件
测试集包含6835 个 wav 音频文件

pytorch音频官方文档

代码分析

1.Python strip()方法

str.strip([chars]);

返回移除指定字符串头尾指定的字符生成新的字符串。

print str2.strip();

删除空格

2.pushd 命令,了解一下! 一个比 cd 更高效的目录切换命令
push 命令在输过不同的目录以后,再次更改只需要push +* 就好。

Linux中的pushd和popd
(1)popd不带参数,将目录栈的栈顶元素出栈
(2)popd + * 就是将目录栈中第**个目录删除。如果目录栈的栈顶元素没有发生变化,是不会导致当前的目录切换的。

3.with open(““,“r“) as file
为了更加严谨,在打开失败时不执行.close()操作。

with list_fullpath[split].open("r") as fr

4.readlines() 方法返回一个列表,其中包含文件中的每一行作为列表项。

5.Torchaudio.load 读取完音频则为Tensor的型态。
waveform, sr = torchaudio.load(filepath, frame_offset=0 , num_frames=-1, normalize=True, channels_first=True)

torchaudio读取wav音频的使用方法

返回的结果类型:
waveform (torch.Tensor): 如果输入文件是int类型的wav,且normalization为False,则waveform的数据就为int类型的,否则是float32;如果channel_first=True,则waveform.shape=[channel, time]。
sr (int): 采样率
保存音频的代码:`torchaudio.save(filepath, src, sample_rate, channels_first)

6.F.pad() 是pytorch 内置的 tensor 扩充函数,便于对数据集图像或中间层特征进行维度扩充.
F.pad() 函数详解

7.pathlib.Path().iterdir() 返回一个迭代器包含目录中所有的对象,对象包含文件属性信息
python文件操作

代码整合:

PyTorch学习笔记(4)–DataLoader的使用

dataloader与dataset存在区别,dataset取数据是 dataset[:2], 而dataloader取数据可以使用迭代器。

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter# 准备的测试数据集  数据放在了CIFAR10文件夹下
test_data = torchvision.datasets.CIFAR10("./CIFAR10", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(dataset=test_data, batch_size=4, shuffle=True, num_workers=0, drop_last=False)# 测试数据集中第一张图片及target
img, target = test_data[0]
print(img.shape)
print(target)# 在定义test_loader时,设置了batch_size=4,表示一次性从数据集中取出4个数据
for data in test_loader:imgs, targets = dataprint(imgs.shape)print(targets)

特征定义

输入特征是BCH*W的4维张量,其中B表示batchsize,C表示特征通道数,H和W表示特征的高和宽

kws项目实现

kws项目地址:
kws-continual-learning

代码使用GPU运行

Windows 下安装 CUDA 和 Pytorch 跑深度学习

.yml 实现虚拟环境

创建一个环境,然后激活,根据配置文件创建虚拟环境:

conda env create -f environment.yml
conda active kws

windows 下 bash 文件的运行

cd
bash conda_install.sh

先安装git
代开.sh文件夹处,右键点击git bash here , 在对话框输入命令

windows10下运行.sh文件报错:wget: command not found

下载wget文件

解决OSError: [WinError 1314] 客户端没有所需的特权

用管理员身份打开pycharm项目文件

google colab使用

google colab使用;

neptune 使用

官网:neptune
参考文件:
github neptune-ai
neptune相关文档
安装 Neptune
如何查找和设置海王星 API 令牌

问题:
No module named ‘neptune’

卸载重装

...# initialize Neptuneneptune.init(<your workspace name>, api_token=<your token>)neptune.create_experiment(name=<your experiment name>, params=PARAMETERS)...

nepute

您可以通过创建仪表板将不同的元数据类型(如图表、参数、图像等)组合在一个地方。
创建后,仪表板将可用于项目中的所有运行。

运行代码:

记录问题并解决Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same

在trainer.py文件133行添加语句 self.model.to(self.device)

语音识别(2): kws项目实现、数据集代码分析相关推荐

  1. 使用SonarCloud对.NET Core项目进行静态代码分析

    本文将介绍如何使用SonarCloud进行.NET Core项目的静态代码分析.SonarCloud是SonarQube提供的基于云的版本,特别针对于开源项目是免费的. 首先,在sonarcloud. ...

  2. [转]代码分析工具FxCop1.36之一:介绍与使用

    FxCop是一个代码分析工具,一种项目级别的代码分析工具:而微软内部代码检查工具 StyleCop属于代码级别.具体的区别可以在网上搜索到.这里主要说明一下FxCop的使用. FxCop使用可以分为 ...

  3. php代码静态分析工具,Wpbullet:一款针对WordPress(PHP)的静态代码分析工具

    今天给大家介绍的是一款名叫Wpbullet的工具,广大安全研究人员可以使用这款工具来对WordPress.插件.主题以及其他PHP项目进行静态代码分析. 工具安装 大家可以直接从Wpbullet的Gi ...

  4. 开源项目kcws代码分析--基于深度学习的分词技术

    http://blog.csdn.net/pirage/article/details/53424544 分词原理 本小节内容参考待字闺中的两篇博文: 97.5%准确率的深度学习中文分词(字嵌入+Bi ...

  5. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(5)(IEnumerable补充)

    Asp.net 5的依赖注入注入系列可以参考链接: [Asp.net 5] DependencyInjection项目代码分析-目录 我们在之前讲微软的实现时,对于OpenIEnumerableSer ...

  6. [Asp.net 5] DependencyInjection项目代码分析-目录

    微软DI文章系列如下所示: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Autofac [ ...

  7. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(2)

    在 DependencyInjection项目代码分析4-微软的实现(1)中介绍了"ServiceTable"."ServiceEntry"."IGe ...

  8. TensorFlow发布语音识别入门教程,附1GB数据集代码

    原标题:TensorFlow发布语音识别入门教程,附1GB数据集&代码 机械鸡的鸡友经常问:如何开始入门深度学习语音和其他音频识别,例如关键字检测或语音命令. 虽然有一些伟大的开源语音识别系统 ...

  9. NTL密码算法开源库(数论库)代码分析项目--综述

    2021SC@SDUSC NTL密码算法开源库(数论库)代码分析项目--综述 项目综述 NTL开源代码库的安装和使用 NTL代码开源库主要解决的问题 项目分工以及核心代码的分配 项目综述 NTL算法库 ...

最新文章

  1. ecos 编译时无法找到 tclConfig.sh 和 tkConfig.sh
  2. python就业前景如何_2020年Python就业前景如何?就业岗位多不多?薪资高不高?...
  3. 倒计时5天:5G还是6G?
  4. 列表和字典循环遍历时的删除问题,集合
  5. 【demo练习二】:WPF依赖属性的练习
  6. 《重构-改善既有代码的设计》学习笔记(二)
  7. mysql表的增删查改
  8. C++新特性探究(6.1):auto和decltype的类型推断差异所在
  9. 深度学习根据文字生成图片教程(附python代码)
  10. Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
  11. python单词的含义-python
  12. matlab bode 频率,matlab – bode和freqz之间的区别
  13. IPV4内网地址网段
  14. RACK与重复ACK
  15. 全文搜索引擎solr使用说明
  16. VirtualBox 扩展VDI空间
  17. IDEA使用database时,连接MySQL后schemas不显示数据库名的情况
  18. Python生成自动化测试报告的两种方法
  19. office365服务器没有响应,修复:由于长时间运行的脚本,Office 365没有响应
  20. 【dgl学习】dgl中edges.src/edges.dst/edges.data解释

热门文章

  1. 现代密码学 | 02:流密码——2
  2. opencv,sobel求梯度,C++实现
  3. BI方案用哪家?现在早已是国产BI工具的天下了!
  4. 科技云报道:酷栈科技xView,不只是比肩传统PC的全能体验
  5. JavaEE——Spring AOP(面向切面编程)
  6. 数据中台与苏秦挂六国相印
  7. 【生活点滴】-- 学生工作、校园经历
  8. 打通产业链 茂名天源石化10万吨催化丙烯装置投产
  9. Android-开源框架总结
  10. Camtasia Studio2023喀秋莎新增功能及电脑配置要求介绍