What is the difference between the ways of Predict and PredictAndUpdateState to update the network?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi All,
I am testing a trained LSTM network to finish the prediction task. I have used prerdict() and PredicAndUpdateState() to do the prediction respectively. The codes for both ways are as follows respectively:
(1). Using predict ()
YTest=predict(trainedNet,XTest); % XTest is the complete test data, which is a numeric array with the size of [16 x 272].
(2). Using PredictAndUpdateState()
for i=1:size(XTest,2)
Xt=XTest(:,i); % One coloum of XTest is extracted as the inputs of this timestep.
[trainedNet,YTest(:,i)]=PredictAndUpdateState(trainedNet,Xt); % Use the inputs of this timestep to predict the outputs, and update the network.
end
The test performance of using PredictAndUpdateState() is much worse than using predict(). But I have heard that both predict() and PredictAndUpdateState() will update the state of the network between each prediction. So, I wonder why the performances of those two functions are so different, and what is the difference between the ways of predict() and PredictAndUpdateState() to update networks.
Any help will be appredicted. Thank you so much!
0 commentaires
Réponses (1)
Animesh
le 22 Août 2024
I have answered your question about the difference between 'predict' and 'predictAndUpdateState' here:
Now, regarding the poor performance of 'predictAndUpdateState': According to the following MathWorks documentation, the 'predict' function uses 'dlnetwork' objects, whereas the 'predictAndUpdateState' function uses 'LayerGraph' and 'trainNetwork' workflows. Training and prediction with 'dlnetwork' objects are typically faster than with 'LayerGraph' and 'trainNetwork' workflows.
0 commentaires
Voir également
Catégories
En savoir plus sur Image Data Workflows dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!