DQN.py: error: the following arguments are required: -m/--mode报错解决方法
时间: 2023-06-15 20:03:01 浏览: 183
这个错误是因为你在运行DQN.py文件时没有指定必需的参数,即-mode或-m参数。你需要在运行命令中指定该参数的值。例如,要在train模式下运行DQN.py文件,你可以使用以下命令:
```
python DQN.py -m train
```
如果你想在测试模式下运行,你可以使用以下命令:
```
python DQN.py -m test
```
确保在运行DQN.py文件时始终指定必需的参数。
相关问题
一个基于python的俄罗斯方块人机对战系统,具体需求如下:基于Python+opencv的俄罗斯方块人机对战系统,先使用Pierre Dellacherie算法实现自动玩俄罗斯方块(此算法中评估函数包括6个参数,行高,行变换数,列变换数、消行数、空洞数、井数),收集游戏数据,保存至文件中,再用DQN算法(使用Adam优化器,MSELoss作为损失函数,epsilon-greedy作为 策略),读取文件中的游戏数据,进行深度权重网络的训练,以提高自动玩家的智能水平。Python俄罗斯方块人机对战系统主要分为以下几个模块: Engine.py:游戏引擎,用于管理游戏状态和处理游戏逻辑。 Player.py: 玩家类,用于接受用户输入并转换成游戏中的操作。 AI.py: AI类,通过 Pierre Dellacherie算法实现自动玩俄罗斯方块。 Util.py:包含游戏所需的各种辅助函数,如按键检测、旋转矩阵计算等。 Models.py:定义DQN算法的深度神经网络模型。详细实现以上模块代码
很抱歉,由于您提供的是一个比较复杂的系统需求,我无法在这里详细实现以上模块代码,因为这个过程需要进行深入的研究和开发。不过,我可以为您提供一些实现此系统的一般步骤和建议:
1. 首先,您需要了解一些基本的Python编程知识和一些流行的Python库,如opencv、numpy、tensorflow等。
2. 接下来,您需要实现一个基本的俄罗斯方块游戏引擎,可以使用pygame或者其他游戏库来实现。
3. 然后,您需要实现一个Pierre Dellacherie算法来自动玩俄罗斯方块,这需要您进行深入的研究和理解该算法的工作原理。
4. 在完成自动玩家的实现之后,您需要在游戏过程中收集游戏数据,并将其保存至文件中。
5. 接下来,您需要使用DQN算法来进行深度权重网络的训练,以提高自动玩家的智能水平。在此过程中,您需要定义深度神经网络模型,使用Adam优化器和MSELoss作为损失函数,以及epsilon-greedy作为策略。
6. 最后,您需要将上述代码整合到一起,实现一个完整的Python俄罗斯方块人机对战系统。可以按照上述模块进行划分,方便代码的维护和管理。
请注意,以上仅是一般的步骤和建议,实际实现还需要您进行更加深入的研究和开发。希望对您有所帮助。
Traceback (most recent call last): File "C:\Users\86187\Desktop\大学事务\多元数据融合与智能分析\实验二\Deep-Reinforcement-Learning-Hands-On\Chapter06\02_dqn_pong.py", line 115, in <module> env = wrappers.make_env(args.env) File "C:\Users\86187\Desktop\大学事务\多元数据融合与智能分析\实验二\Deep-Reinforcement-Learning-Hands-On\Chapter06\lib\wrappers.py", line 115, in make_env env = gym.make(env_name) File "C:\Users\86187\Desktop\大学事务\多元数据融合与智能分析\venv\lib\site-packages\gym\envs\registration.py", line 640, in make env = env_creator(**_kwargs) File "C:\Users\86187\Desktop\大学事务\多元数据融合与智能分析\venv\lib\site-packages\ale_py\env\gym.py", line 155, in __init__ self.seed() File "C:\Users\86187\Desktop\大学事务\多元数据融合与智能分析\venv\lib\site-packages\ale_py\env\gym.py", line 206, in seed raise error.Error( gym.error.Error: We're Unable to find the game "Pong". Note: Gym no longer distributes ROMs. If you own a license to use the necessary ROMs for research purposes you can download them via `pip install gym[accept-rom-license]`. Otherwise, you should try importing "Pong" via the command `ale-import-roms`. If you believe this is a mistake perhaps your copy of "Pong" is unsupported. To check if this is the case try providing the environment variable `PYTHONWARNINGS=default::ImportWarning:ale_py.roms`.
这个错误提示信息显示在使用 ALE (Arcade Learning Environment) 创建 Pong 游戏环境时出现了问题,可能是由于缺少相关的 ROM 文件导致的。可以尝试根据提示信息中的建议,先安装 gym[accept-rom-license] 以获取必要的 ROM 文件。如果你没有购买相关的许可证,则需要使用 `ale-import-roms` 命令进行导入。另外,也可以尝试设置环境变量 `PYTHONWARNINGS=default::ImportWarning:ale_py.roms`,以检查是否存在 ROM 文件不受支持的情况。
阅读全文