Borrar filtros
Borrar filtros

using datastore with trainNetwork

1 visualización (últimos 30 días)
Noam
Noam el 7 de Feb. de 2023
Comentada: Noam el 7 de Feb. de 2023
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

Respuesta aceptada

Aylin
Aylin el 7 de Feb. de 2023
Editada: Aylin el 7 de Feb. de 2023
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 comentarios
Noam
Noam el 7 de Feb. de 2023
my bad, actually chaniging to:
trainNetwork(TR,net.Layers,options) do the work.
Thanks!
Noam
Noam el 7 de Feb. de 2023
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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Pretrained Models en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by