VGGish和Keras。

vggish-keras的Python项目详细描述


VGGish:一种类似VGG的音频分类模型

这个存储库提供了一个VGGish模型,使用tensorflow后端在Keras中实现(由于tf.slimdeprecated,我认为我们应该有一个最新的接口)。此存储库已开发 {基于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)

参考文献:

我在download_helpers/convert_ckpt.py中包含一个权重转换脚本,它显示了我如何将感兴趣的those的权重从.ckpt转换为.h5。在

托多

  • 目前,参数(采样率、跃点大小等)可以通过vgk.params进行全局更改-我希望允许将参数重写传递给vgk.VGGish
  • 目前它依赖于https://github.com/bmcfee/pumpp/pull/123。合并后,删除自定义github安装位置

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有外部属性文件的java prunsrv服务   java NoClassDefFoundError:org/hibernate/annotations/common/reflection/MetadataProvider   使用Android Studio进行java单元测试云数据存储   java如何使用Junit在SeleniumWebDriver中生成测试用例报告   java根据用户输入显示多个动画形状(JavaFX)   java枚举文件和Jar资源的统一机制   使用Spring OXM的java多封送器/解封器   java无法解析:com。谷歌。安卓exoplayer:exoplayer smoothstreaming:2.9.1   java如何创建迷你对话框(带图片)   java在eclipse中单击自定义菜单项时显示一个对话框   java使用Hibernate在插入前检查重复值   Jsoup只过滤掉从html到文本的一些标记   域在字符串Java Mail中包含非法字符   自定义Jackson反序列化程序中的java委托   java Graphql联合在扩展关系上返回null   java如果我有entitymanager,如何获取会话对象?