load multiple trained reinforcement agents into MATLAB workspace

2 views (last 30 days)
I have trained a DDPQ reinforcement learning agent and saved all agents with a reward over a set critieria.
These have all been saved into the same file directory autonomously with the name "AgentXXXX" with XXXX being the training iteration (note these are not necassarily sequential).
I am looking to assess them all over 10 randomly initiated tests to identify the top 5% for further testing.
The question I have is how to import all the agents to the matlab workspace with unique names as to test them all in one for loop so I do not have to manually load each agent.
there are around 2000 saved agents.

Accepted Answer

Anh Tran
Anh Tran on 6 Mar 2020
Edited: Anh Tran on 9 Mar 2020
It is not neccessary to load all 2000 agents into MATLAB (consume memory and tricky to assign unique name) to evaluate their performance. Instead, I believe a more reasonable approach would be load an agent, run 10 tests, log results and repeat
% get a list of all mat file in the folder, assuming only agent are saved in the folder as mat file
listing = dir('*.mat');
for ct = 1:numel(listing)
load(listing(ct).name)
% run test on agent
% log result
end
% combine result from each agent
% analyze
  1 Comment
Alex Grimshaw
Alex Grimshaw on 9 Mar 2020
Thanks for the answer.
This is almost exactly what I have ended up implementing and performing iteratively and worked really well.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!