WavEncoder Pythorch支持的音频编码器
wavencoder的Python项目详细描述
波编码器
WavEncoder是一个Python库,用于使用Pythorch后端对原始音频进行编码。在
要添加的Wav型号
- [x] wav2vec[1]
- []wav2vec2[2]
- [x] 新闻网[3]
- []PASE[4]
- []莫金杰[5]
- []罗网[6]
- []CNN-1D
- []CNN-LSTM
- []CNN LSTM收件人
- []CNN变压器
安装
使用包管理器pip安装wavencoder。在
pip install fairseq pip install wavencoder
使用
输入分类编码器模型<3>
^{pr2}$
将wavencoder与Pythorch顺序或类模块一起使用
importtorchimporttorch.nnasnnimportwavencodermodel=nn.Sequential(wavencoder.models.Wav2Vec(),wavencoder.models.LSTM_Attn_Classifier(512,64,2))x=torch.randn(1,16000)# [1, 16000]y_hat,attn_weights=model(x)# [1, 2], [1, 98]
importtorchimporttorch.nnasnnimportwavencoderclassAudioClassifier(nn.Module):def__init__(self):super(AudioClassifier,self).__init__()self.encoder=wavencoder.models.Wav2Vec(pretrained=True)self.classifier=nn.Linear(512,2)defforward(self,x):z=self.encoder(x)z=torch.mean(z,dim=2)out=self.classifier(z)returnoutmodel=AudioClassifier()x=torch.randn(1,16000)# [1, 16000]y_hat=model(x)# [1, 2]
训练编码器分类器模型
fromwavencoder.modelsimportWav2Vec,LSTM_Attn_Classifierfromwavencoder.trainerimporttrain,test_evaluate_classifier,test_predict_classifiermodel=nn.Sequential(Wav2Vec(pretrained=False),LSTM_Attn_Classifier(512,64,2))trainloader=...valloader=...testloader=...trained_model,train_dict=train(model,trainloader,valloader,n_epochs=20)test_prediction_dict=test_predict_classifier(trained_model,testloader)
贡献
欢迎拉取请求。对于重大变化,请先打开一个问题,讨论您希望更改的内容。在
请确保根据需要更新测试。在
许可证
参考文献
- 项目
标签: