Error in save to mat file

234 次查看(过去 30 天)
Praveen Kumar Nambisan T M
回答: Kautuk Raj 2024-9-11
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 个评论
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
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.

请先登录,再进行评论。

回答(1 个)

Kautuk Raj
Kautuk Raj 2024-9-11
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).

类别

Help CenterFile Exchange 中查找有关 Containers 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by