Error in save to mat file

210 views (last 30 days)
Praveen Kumar Nambisan T M
Answered: Kautuk Raj on 11 Sep 2024
I have got following error while saving the agent for a DQN-RL problem. The error doesnt pop-up always, however, most of the time the saved .mat file is corrupt Similar problem in another PC too. Both the PC is having enough space in the HDD and of 64GB RAM. Sometimes it saves successfully with each MAT file of 1GB size,otherwise, the corrupted MAT files are in KBs.
Version: MATLAB 2021a
Error:
Error using save
Unable to save file 'C:\Users\Documents\MATLAB 2021\initial_agent.mat'. The file could not be closed, and might now be corrupt.
Error in DQN__Training (line 101)
save("initial_agent","agent")
  4 Comments
Praveen Kumar Nambisan T M
Thanks for the answer. It might be due to network file system as there was no limitations in the disk space.
However, I have reinstalled the MATLAB and it solved the issue.
Sebastian Theilenberg
Sebastian Theilenberg on 5 Sep 2023
For future reference, because the error message doesn't really point towards this:
I had the same error in Matlab 2022b both on the local SSD and when saving to a network storage. I was able to fix it using version '-v7.3'.
I'm not sure why this fixed the issue (e.g., the file size was only about 240 MB), but it's worth a try.

Sign in to comment.

Answers (1)

Kautuk Raj
Kautuk Raj on 11 Sep 2024
It seems like the issue you are encountering with saving the agent for your DQN-RL problem might be related to the MAT-file version being used. By default, MATLAB saves files in version 7.0, which has limitations on the size of variables it can store. This could explain why your large files are sometimes corrupt, especially when they exceed the capacity of version 7.0.
To resolve this issue, you can save your MAT-files in version 7.3, which supports larger file sizes. Here is how you can do it:
(1) Change Default Save Settings:
Go to Preferences > MATLAB > General > MAT-Files.
Select MATLAB Version 7.3 or later (save -v7.3).
(2) Specify Version 7.3 When Saving:
Use the -v7.3 flag with the ‘save function:
save('initial_agent', 'agent', '-v7.3');
(3) Further, if you have an existing version 7.0 MAT-file and need to append large data, you can convert it to version 7.3 first:
load('existing_file.mat');
save('existing_file.mat', '-v7.3');
save('existing_file.mat', 'largeVariable', '-append');
For more detailed information, you can refer to the MATLAB documentation on MAT-file versions (https://www.mathworks.com/help/releases/R2021a/matlab/import_export/mat-file-versions.html) and saving data (https://www.mathworks.com/help/releases/R2021a/matlab/ref/save.html).

Categories

Find more on Containers in Help Center and File Exchange

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!