VGGish和Keras。
vggish-keras的Python项目详细描述
VGGish:一种类似VGG的音频分类模型
这个存储库提供了一个VGGish模型,使用tensorflow后端在Keras中实现(由于tf.slim
是deprecated,我认为我们应该有一个最新的接口)。此存储库已开发
{基于a2}模型。
有关详细信息,请访问slim version。在
安装
pip install vggish-keras
重量将在第一次被请求时下载。您也可以运行python -m vggish_keras.download_helpers.download_weights
,它将下载它们。在
使用
基本-简单有效的方法:
^{pr2}$备选方案-使用引擎盖下辅助功能:
# get the embeddings - WARNING: it instantiates a new model each timeZ,ts=vgk.get_embeddings(librosa.util.example_audio_file(),hop_duration=0.25)# create model, pump, sampler once and pass to vgk.get_embeddings# - more typing :'(model,pump,sampler=vgk.get_embedding_model(hop_duration=0.25)Z,ts=vgk.get_embeddings(librosa.util.example_audio_file(),model=model,pump=pump,sampler=sampler)
手动,使用keras模型并直接泵送:
importlibrosaimportnumpyasnpimportvggish_kerasasvgk# define the modelpump=vgk.get_pump()model=vgk.VGGish(pump)sampler=vgk.get_sampler(pump)# transform audio into VGGish embeddingsfilename=librosa.util.example_audio_file()X=np.concatenate([x[vgk.params.PUMP_INPUT]forxinsampler(pump(filename))])Z=model.predict(X)# calculate timestampsts=vgk.get_timesteps(Z,pump,sampler)assertZ.shape==(13,512)
参考文献:
- 在
Gemmeke,J.等人。, AudioSet: An ontology and human-labelled dataset for audio events, 2017年ICASSP
在 - 在
Hershey,S.等人。, CNN Architectures for Large-Scale Audio Classification, 2017年ICASSP
在
我在download_helpers/convert_ckpt.py中包含一个权重转换脚本,它显示了我如何将感兴趣的those的权重从.ckpt
转换为.h5
。在
托多
- 目前,参数(采样率、跃点大小等)可以通过
vgk.params
进行全局更改-我希望允许将参数重写传递给vgk.VGGish
- 目前它依赖于https://github.com/bmcfee/pumpp/pull/123。合并后,删除自定义github安装位置
- 项目
标签: