Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
DeepSpeech
提交
cb613e33
D
DeepSpeech
项目概览
PaddlePaddle
/
DeepSpeech
大约 2 年 前同步成功
通知
210
Star
8425
Fork
1598
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
245
列表
看板
标记
里程碑
合并请求
3
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DeepSpeech
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
245
Issue
245
列表
看板
标记
里程碑
合并请求
3
合并请求
3
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
cb613e33
编写于
4月 07, 2022
作者:
H
Hui Zhang
提交者:
GitHub
4月 07, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1658 from KPatr1ck/docs
[Audio] Fix mcd issue.
上级
66d3bbf9
079ac5ca
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
11 deletion
+11
-11
examples/esc50/README.md
examples/esc50/README.md
+10
-10
paddleaudio/paddleaudio/metric/mcd.py
paddleaudio/paddleaudio/metric/mcd.py
+1
-1
未找到文件。
examples/esc50/README.md
浏览文件 @
cb613e33
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
对于声音分类任务,传统机器学习的一个常用做法是首先人工提取音频的时域和频域的多种特征并做特征选择、组合、变换等,然后基于SVM或决策树进行分类。而端到端的深度学习则通常利用深度网络如RNN,CNN等直接对声间波形(waveform)或时频特征(time-frequency)进行特征学习(representation learning)和分类预测。
对于声音分类任务,传统机器学习的一个常用做法是首先人工提取音频的时域和频域的多种特征并做特征选择、组合、变换等,然后基于SVM或决策树进行分类。而端到端的深度学习则通常利用深度网络如RNN,CNN等直接对声间波形(waveform)或时频特征(time-frequency)进行特征学习(representation learning)和分类预测。
在IEEE ICASSP 2017 大会上,谷歌开放了一个大规模的音频数据集
[
Audioset
](
https://research.google.com/audioset/
)
。该数据集包含了 632 类的音频类别以及 2,084,320 条人工标记的每段
10 秒长度的声音剪辑片段(来源于YouTube视频)。目前该数据集已经有210万个已标注的视频数据,5800小时的音频数据,经过标记的声音样本的标签类别为
527。
在IEEE ICASSP 2017 大会上,谷歌开放了一个大规模的音频数据集
[
Audioset
](
https://research.google.com/audioset/
)
。该数据集包含了 632 类的音频类别以及 2,084,320 条人工标记的每段
**10 秒**
长度的声音剪辑片段(来源于YouTube视频)。目前该数据集已经有 210万 个已标注的视频数据,5800 小时的音频数据,经过标记的声音样本的标签类别为
527。
`PANNs`
(
[
PANNs: Large-Scale Pretrained Audio Neural Networks for Audio Pattern Recognition
](
https://arxiv.org/pdf/1912.10211.pdf
)
)是基于Audioset数据集训练的声音分类/识别的模型。经过预训练后,模型可以用于提取音频的embbedding。本示例将使用
`PANNs`
的预训练模型Finetune完成声音分类的任务。
`PANNs`
(
[
PANNs: Large-Scale Pretrained Audio Neural Networks for Audio Pattern Recognition
](
https://arxiv.org/pdf/1912.10211.pdf
)
)是基于Audioset数据集训练的声音分类/识别的模型。经过预训练后,模型可以用于提取音频的embbedding。本示例将使用
`PANNs`
的预训练模型Finetune完成声音分类的任务。
...
@@ -12,14 +12,14 @@
...
@@ -12,14 +12,14 @@
## 模型简介
## 模型简介
PaddleAudio提供了PANNs的CNN14、CNN10和CNN6的预训练模型,可供用户选择使用:
PaddleAudio提供了PANNs的CNN14、CNN10和CNN6的预训练模型,可供用户选择使用:
-
CNN14: 该模型主要包含12个卷积层和2个全连接层,模型参数的数量为
79.6M,embbedding维度是
2048。
-
CNN14: 该模型主要包含12个卷积层和2个全连接层,模型参数的数量为
79.6M,embbedding维度是
2048。
-
CNN10: 该模型主要包含8个卷积层和2个全连接层,模型参数的数量为
4.9M,embbedding维度是
512。
-
CNN10: 该模型主要包含8个卷积层和2个全连接层,模型参数的数量为
4.9M,embbedding维度是
512。
-
CNN6: 该模型主要包含4个卷积层和2个全连接层,模型参数的数量为
4.5M,embbedding维度是
512。
-
CNN6: 该模型主要包含4个卷积层和2个全连接层,模型参数的数量为
4.5M,embbedding维度是
512。
## 数据集
## 数据集
[
ESC-50: Dataset for Environmental Sound Classification
](
https://github.com/karolpiczak/ESC-50
)
是一个包含有 2000 个带标签的环境声音样本,音频样本采样率为 44,100Hz 的单通道音频文件,所有样本根据标签被划分为 50 个类别,每个类别有 40 个样本。
[
ESC-50: Dataset for Environmental Sound Classification
](
https://github.com/karolpiczak/ESC-50
)
是一个包含有 2000 个带标签的
时长为
**5 秒**
的
环境声音样本,音频样本采样率为 44,100Hz 的单通道音频文件,所有样本根据标签被划分为 50 个类别,每个类别有 40 个样本。
## 模型指标
## 模型指标
...
@@ -43,13 +43,13 @@ $ CUDA_VISIBLE_DEVICES=0 ./run.sh 1 conf/panns.yaml
...
@@ -43,13 +43,13 @@ $ CUDA_VISIBLE_DEVICES=0 ./run.sh 1 conf/panns.yaml
```
```
训练的参数可在
`conf/panns.yaml`
的
`training`
中配置,其中:
训练的参数可在
`conf/panns.yaml`
的
`training`
中配置,其中:
-
`epochs`
: 训练轮次,默认为50。
-
`epochs`
: 训练轮次,默认为
50。
-
`learning_rate`
: Fine-tune的学习率;默认为5e-5。
-
`learning_rate`
: Fine-tune的学习率;默认为5e-5。
-
`batch_size`
: 批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为16。
-
`batch_size`
: 批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为
16。
-
`num_workers`
: Dataloader获取数据的子进程数。默认为0,加载数据的流程在主进程执行。
-
`num_workers`
: Dataloader获取数据的子进程数。默认为0,加载数据的流程在主进程执行。
-
`checkpoint_dir`
: 模型参数文件和optimizer参数文件的保存目录,默认为
`./checkpoint`
。
-
`checkpoint_dir`
: 模型参数文件和optimizer参数文件的保存目录,默认为
`./checkpoint`
。
-
`save_freq`
: 训练过程中的模型保存频率,默认为10。
-
`save_freq`
: 训练过程中的模型保存频率,默认为
10。
-
`log_freq`
: 训练过程中的信息打印频率,默认为10。
-
`log_freq`
: 训练过程中的信息打印频率,默认为
10。
示例代码中使用的预训练模型为
`CNN14`
,如果想更换为其他预训练模型,可通过修改
`conf/panns.yaml`
的
`model`
中配置:
示例代码中使用的预训练模型为
`CNN14`
,如果想更换为其他预训练模型,可通过修改
`conf/panns.yaml`
的
`model`
中配置:
```
yaml
```
yaml
...
@@ -76,7 +76,7 @@ $ CUDA_VISIBLE_DEVICES=0 ./run.sh 2 conf/panns.yaml
...
@@ -76,7 +76,7 @@ $ CUDA_VISIBLE_DEVICES=0 ./run.sh 2 conf/panns.yaml
训练的参数可在
`conf/panns.yaml`
的
`predicting`
中配置,其中:
训练的参数可在
`conf/panns.yaml`
的
`predicting`
中配置,其中:
-
`audio_file`
: 指定预测的音频文件。
-
`audio_file`
: 指定预测的音频文件。
-
`top_k`
: 预测显示的top k标签的得分,默认为1。
-
`top_k`
: 预测显示的top k标签的得分,默认为
1。
-
`checkpoint`
: 模型参数checkpoint文件。
-
`checkpoint`
: 模型参数checkpoint文件。
输出的预测结果如下:
输出的预测结果如下:
...
...
paddleaudio/paddleaudio/metric/mcd.py
浏览文件 @
cb613e33
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
# limitations under the License.
# limitations under the License.
from
typing
import
Callable
from
typing
import
Callable
import
mcd.metrics
_fast
as
mt
import
mcd.metrics
as
mt
import
numpy
as
np
import
numpy
as
np
from
mcd
import
dtw
from
mcd
import
dtw
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录