I'm trying to train mp3/wav files using yamnet, I've created an audioDataStore which load the files, then I transform it to get data that suits to Yamnet, and then I try to train it. I get the folowing error:
Invalid training data. Predictors must be a numeric array, a datastore, or a table. For networks with
sequence input, predictors can also be a cell array of sequences.
Can't I use transformedDataStore with trainNetwork?
This is my code:
net = yamnet;
DS = audioDatastore(FolderName, ...
'FileExtensions',{'.wav','.mp3'},"IncludeSubfolders",true,'LabelSource','foldernames');
TR = transform(DS,@(audio,info)preProcess(audio,info),"IncludeInfo",true);
options = trainingOptions("adam");
trainNetwork(net,TR,options)
function [data,info] = preProcess(audio,info)
data = yamnetPreprocess(audio,info.SampleRate);
end
Thanks

 채택된 답변

Aylin
Aylin 2023년 2월 7일
편집: Aylin 2023년 2월 7일

0 개 추천

Hello Noam, maybe the trainNetwork inputs are in the wrong order? The datastore should be first, followed by the layers and the options. Does this work better?
trainNetwork(TR,net,options)
Rylan

댓글 수: 2

Noam
Noam 2023년 2월 7일
my bad, actually chaniging to:
trainNetwork(TR,net.Layers,options) do the work.
Thanks!
Noam
Noam 2023년 2월 7일
i added a following question:
https://www.mathworks.com/matlabcentral/answers/1908330-input-datastore-returned-more-than-one-observation-per-row-for-network-input-1

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Pretrained Models에 대해 자세히 알아보기

제품

릴리스

R2022b

질문:

2023년 2월 7일

댓글:

2023년 2월 7일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by