Unable to save trainingstats in MATLAB 2024a
20 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Vasu Sharma
le 14 Août 2024
Réponse apportée : Aniket
le 16 Août 2024
I am runnning a training script based on a simulink environment. At the end when I try to save the training results, it always throws an error. I am wondering if it has something to do with the .mat format. This issue does not occur in Matlab 2023a.
%% Train the agent
trainingStats = train(agent, env, trainOpts);
%% Save Agent
results_dir = strcat('./Results/',num2str(time(1)),'0',num2str(time(2)),num2str(time(3)));
mkdir(results_dir)
save(strcat(results_dir,'/TrainingStats.mat'),"trainingStats")
generatePolicyBlock(agent)
save_system('untitled','Agent')
%% Simulate
%addpath('D:\Masters\HiWi\Tikz')
simEpisodes = 1;
simOpts = rlSimulationOptions("MaxSteps",1250,...
"NumSimulations", simEpisodes);
experience = sim(env,agent,simOpts);
save(strcat(results_dir,'/Experience.mat'),"experience")
The error message is usually:
>> load('C:\Users\vasu3\Documents\Work\sharma_ma_rlonh2df\acados_implementation\rl\savedAgents\PPO\20240814\Agent5852.mat', 'savedAgentResult')
Error using load
Cannot read file
C:\Users\vasu3\Documents\Work\sharma_ma_rlonh2df\acados_implementation\rl\savedAgents\PPO\20240814\Agent5852.mat.
Warning: Directory already exists.
Error using save
Unable to save file
'C:\Users\vasu3\Documents\Work\sharma_ma_rlonh2df\acados_implementation\rl\Results\20240814\TrainingStats.mat'.
The file could not be closed, and might now be corrupt.
Error in run_H2DFRL_GRU (line 195)
save(strcat(results_dir,'/TrainingStats.mat'),"trainingStats")
Warning: Unable to read some of the variables due to unknown MAT-file error.
> In matfinfo (line 9)
In finfo>fetchDescriptions (line 278)
In finfo (line 82)
In uiimport/gatherFilePreviewData (line 419)
In uiimport (line 260)
Error using load
Unable to read file
'C:\Users\vasu3\Documents\Work\sharma_ma_rlonh2df\acados_implementation\rl\Results\20240814\TrainingStats.mat'. Input must be a
MAT-file or an ASCII file containing numeric data with same number of columns in each row.
Error in uiimport/runImportdata (line 470)
datastruct = load('-ascii', fileAbsolutePath);
Error in uiimport/gatherFilePreviewData (line 438)
[datastruct, textDelimiter, headerLines]= runImportdata(fileAbsolutePath, type);
Error in uiimport (line 260)
gatherFilePreviewData(fileAbsolutePath);
Could someone please help out
0 commentaires
Réponse acceptée
Aniket
le 16 Août 2024
I understand that there is an issue with saving training results in MATLAB, and it might be related to the file size limitations of the .mat format. The default version used for saving, version 7, has a size limit of 2GB per variable, which could be causing the error. You can switch to version 7.3 as it supports larger variable sizes.
Here's how you can modify the code to save the results using version 7.3:
save(strcat(results_dir, '/TrainingStats.mat'), "trainingStats", '-v7.3');
By specifying '-v7.3' in the ‘save’ function, MATLAB is able to handle larger data sizes, which should help resolve this issue.
For more details, check out the MATLAB documentation on the ‘version’ argument of ‘save’ function here:
Hope this helps!
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Sequence and Numeric Feature 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!