如何在系统仿真模式(se)下在gem5上移植maddpg强化学习算法

2024-09-30 22:11:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将maddpg移植到gem5上
以下是我的流程:
首先,我从OpenAI下载了maddpg:https://github.com/openai/maddpg(我还安装了多粒子环境中maddpg的所有依赖项)
在下一步中,我使用以下命令来训练maddpg o top of gem5以获得一个简单的策略
Command: sudo ./build/X86/gem5.opt configs/example/se.py --cpu-type=DerivO3CPU --caches --mem-type=DDR4_2400_8x8 --mem-size=8GB --cmd=./train -options="--scenario simple"
当我尝试执行此命令时,遇到以下输出:

sudo ./build/X86/gem5.opt configs/example/se.py --cpu-type=DerivO3CPU --caches --mem-type=DDR4_2400_8x8 --mem-size=8GB --cmd=./train -options="--scenario simple"
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 version 21.0.0.0
gem5 compiled Jun 15 2021 10:46:56
gem5 started Jul 23 2021 00:43:08
gem5 executing on osboxes, pid 7057
command line: ./build/X86/gem5.opt configs/example/se.py --cpu-type=DerivO3CPU --caches --mem-type=DDR4_2400_8x8 --mem-size=8GB --cmd=./train '-options=--scenario simple'
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.master is deprecated. `master` is now called `mem_side_ports`
warn: membus.master is deprecated. `master` is now called `mem_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (16384 Mbytes) does not match the address range assigned (8192 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
** REAL SIMULATION **
info: Entering event queue @ 0.  Starting simulation...
warn: ignoring syscall access(...)
warn: ignoring syscall access(...)
warn: ignoring syscall access(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall access(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall access(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall access(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall mprotect(...)
warn: ignoring syscall set_robust_list(...)
warn: ignoring syscall rt_sigaction(...)
      (further warnings will be suppressed)
warn: ignoring syscall rt_sigprocmask(...)
      (further warnings will be suppressed)
info: Increasing stack size by one page.
info: Increasing stack size by one page.
info: Increasing stack size by one page.
info: Increasing stack size by one page.
info: Increasing stack size by one page.
info: Increasing stack size by one page.
info: Increasing stack size by one page.
info: Increasing stack size by one page.
warn: MOVNTDQ: Ignoring non-temporal hint, modeling as cacheable!
warn: ignoring syscall prctl(...)
Exiting @ tick 346243000 because exiting with last active thread context
Simulated exit code not 0! Exit code is 1

我使用pyinstaller将train.py文件转换为二进制可执行文件。 有人能给我解释一下为什么没有进行培训吗?或者有什么建议可以得到结果

参考资料:

  1. gem5:https://www.gem5.org/documentation/general_docs/building
  2. maddpg算法:https://github.com/openai/maddpg

Tags: infosizeiscpumemnowslavedeprecated