强化学习培训代理时,C驱动完全占领

19日视图(30天)
在使用的过程中强化学习工具箱训练特工,C:驱动器的入住率增加,最终成为完全。我发现在训练过程中虚拟内存太大(近50 g)在C盘通过浏览隐藏文件。后重启MATLAB,这部分内存将再次发布。通过Simscape训练环境构建。
我想知道什么样的方法可以用来避免增加使用C驱动随着训练时间的增加。因为这个问题,我总是不得不终止培训过程。

接受的答案

Shaik
Shaik 2023年5月14日16:47
嗨Yunyi,
当使用强化学习培训强化学习代理在MATLAB工具箱,重要的是管理内存使用,以避免填充C驱动器。这里有几个方法你可以试着减轻培训期间增加磁盘空间使用情况:
改变临时目录:MATLAB使用一个临时目录来存储中间数据在训练。默认情况下,这个目录设置为系统的临时文件夹,这通常是位于C:驱动器。你可以改变临时目录到另一个位置,如不同的驱动器和更多的可用空间。使用 tempdir 在MATLAB函数来设置不同的临时目录。
newTempDir =“D: \ Temp”;%替代与所需的临时目录
matlab.internal.getAndSetTemporaryDirectory (newTempDir);
  1. 限制经验重播缓冲区的大小:体验重播缓冲培训期间可以消耗大量的内存。可以减少通过调整其大小BufferSize参数在创建rlDQNAgentrlDDPGAgent对象。较小的缓冲区大小,需要更少的内存,但可能会影响学习成绩。
  2. 减少培训批大小:批量大小决定了有多少经验在每个训练迭代处理。小批量大小将减少内存占用但可能放慢训练。你可以调整MiniBatchSize参数在创建代理减少批量大小。
  3. 较低的分辨率观察:如果在您的环境中观察高分辨率,考虑减少他们的决议。这可以通过将采样和压缩观测之前给他们代理。低分辨率观测需要更少的内存。
  4. 定期重启MATLAB:正如你提到的,重启MATLAB释放内存消耗在训练。如果它是可行的工作流程,你可以定期重启MATLAB一定数量的训练迭代或集后回收内存。您可以使用退出优雅地终止MATLAB函数。
这些方法应有助于减轻培训期间增加磁盘空间使用情况。之间找到合适的平衡是很重要的内存使用和培训您的特定应用程序的性能。

更多的答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!