What is the difference between the ways of Predict and PredictAndUpdateState to update the network?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Animesh
2024년 8월 22일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Data Workflows에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!