阿里云——零基础入门语音识别——食物声音识别——代码跑通及解析

本文详细介绍了初学者如何在云平台上进行语音识别项目的实践,包括注册登录、数据集下载、库的导入、音频处理、特征提取、数据集划分、模型构建、训练与预测。通过使用librosa库处理音频,提取梅尔频谱作为特征,利用Keras搭建CNN模型进行食物声音分类。最后,对测试集进行预测并生成提交文件。

大佬代码在这
我也是个垃圾,初学者练习这个项目,我认为第一步是熟悉这个平台的使用,这种云编程不同于pycharm,初学者可能会感觉十分别扭(比如垃圾的我),所以我在这个笔记里尽可能详细的说一下如何让大佬代码在自己的notebook里跑一边,只有知道了总体流程,才能写出属于自己的东西。

强调一下,代码是大佬的,我们只是借鉴一下,所以想要有所进步,还需要自己的努力。
零基础入门语音识别——食物声音识别
打开我给的连接,会是这个样子
![在这里插入图片描述](https://img-blog.csdnimg.cn/eabb06b2c546490d843e3b74b10在这里插入图片描述

该注册的注册,该登录的登录。
然后报名参赛。
以后就可以在自己的个人中心找到了
在这里插入图片描述
进入比赛,点击论坛,新建notebook(建议用这种方式新建,因为这样你的notebook会自动挂载比赛所需要的数据集,当然,今天跑的代码不需要)
在这里插入图片描述
然后会是这样的,可以在左下角新建,这时,你的代码是无法修改的,记住带点击右上角的编辑,进入notebook,

在这里插入图片描述
进入以后把这些没用的删了,用小剪刀这个工具,
在这里插入图片描述
然后点击+号,新建cell,把这篇文章开头的链接的大佬的代码复制过去,不要漏,然后从上往下,依次运行(单个三角形),注意一定要确定当前这个框里的代码全部跑完再运行下一行。
在这里插入图片描述
这个*号代表正在运行,
在这里插入图片描述
空的代表没有运行,
在这里插入图片描述
数字代表的是成功运行的,注意数字的顺序,一定要的按顺序的,如果出现12324这种,代表你分步运行时出错了,
当然,你也可以点击双三角在这里插入图片描述
直接运行所有,但是我觉得初学者还是一步一步的看到代码运行的状态,对学习帮助更好一些(因人而异把)

特别强调,对于基本没有接触过深度学习的小白来说,代码运行时间绝对会是一个难忘的经历,我运行了

运行成功了

好了,现在开始进行解释:

!wget http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531887/train_sample.zip

!wget你可以理解为netebook用来下载数据的命令

!unzip -qq train_sample.zip
!\rm train_sample.zip

使用unzip函数解压缩,通过\rm将压缩包删除
所以,对于训练集和测试集,我们先下载好压缩包,解压后删除原本压缩包。

# 基本库

import pandas as pd
import numpy as np

from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.model_selection import GridSearchCV

from sklearn.preprocessing import MinMaxScaler

1、train_test_split返回切分的数据集train/test。
将训练集划分为训练集和测试集,这点和机器学习相同。
随机划分样本数据为训练集和测试集的,当然也可以人为的切片划分。

2、
sklearn.metrics里面会有很多的评价指标,即用于检验机器学习模型效果的定量指标。
sklearn中的classification_report函数用于显示主要分类指标的文本报告.在报告中显示每个类的精确度,召回率,F1值等信息。

3、GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数。
(GridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证。这两个名字都非常好理解。网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,这其实是一个训练和比较的过程。)

4、MinMaxScaler的功能是将每个元素(特征,feature)转换成给定范围的值。
(对数据进行预处理的,主要功能可以概括成标准化和归一化。MinMaxScaler是一个归一化的函数,可以将范围所放在指定的范围区间内)

# 加载深度学习框架(搭建分类模型所需要的库)
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, Flatten, Dense, MaxPool2D, Dropout
from tensorflow.keras.utils import to_categorical 
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC

#加载音频处理库
pip install librosa --user

# 其他库
import os
import librosa
import librosa.display
import glob 

加载深度学习框架(搭建分类模型所需要的库)

keras系列︱Sequential与Model模型、keras基本结构功能(一)
sklearn.ensemble库,支持众多集成学习算法和模型。
RandomForestClassifier是非常具有代表性的Bagging集成算法,它的所有基评估器都是决策树,分类树组成的森林就叫做随机森林分类器,回归树所集成的森林就叫做随机森林回归器。

sklearn.svm库支持向量机,主要用于分类,回归和异常检测。SVC全称是C-Support Vector Classification,是一种基于libsvm的支持向量机,由于其时间复杂度为O(n^2),所以当样本数量超过两万时难以实现。
keras网络结构(关于keras先了解一下,我学习后再做笔记)
在这里插入图片描述
#加载音频处理库
pip install librosa --user
下面的感兴趣仔细看一下,不想看的话就跳过吧,反正知道这个库时用来处理声音数据的就行了,大佬的代码里用到的东西,我还会再仔细说明的。
原文在这里
在这里插入图片描述
其他:
os 是python环境下对文件,文件夹执行操作的一个模块。

librosa.display模块并不默认包含在librosa中,使用时要单独引入,是用来做音频特征的显示。

glob是UNIX程序,用来匹配路径文件名

好了,现在我们已经把数据集下载好了,并且把要用到的库也导入了,该进行数据集的处理了

#特征提取及数据集的创建
feature = []
label 
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值