Serpent命令 (The serpent Executable) - nanpuhaha/SerpentAI GitHub Wiki
如果你想彻底掌握整个框架的话,有一个非常重要的工具你一定不能错过,有了它你就可以学习并理解整个框架,他就是 serpent 命令。通过合理的调用 serpent 命令就可以灵活使用各种框架内的主要特征功能。
现在就来试试吧,运行命令 serpent
。
你将会看到如上图所示的输出,下面让我们来依次介绍一下这些命令。
执行框架的初始化安装步骤,创建配置文件,文件目录,并根据指定操作系统安装依赖。
serpent setup
提示: 其实以后你也可以再次调用该命令,注意再次调用该命令会导致所有插件失效,同时也会初始化覆盖原有的配置文件,以及清空全部数据文件。在进行操作之前系统会再次提醒你确认是否执行。
启动一个Frame Grabber(帧捕捉)实例。请不要直接使用
serpent grab_frames <width> <height> <x_offset> <y_offset>
- width: 游戏内待捕捉帧的像素宽度
- height: 游戏内待捕捉帧的像素高度
- x_offset: 游戏内待捕捉帧图像的像素横向偏移值
- y_offset: 游戏内待捕捉帧图像的像素纵向偏移值
提示: 当游戏代理启动时,该命令会被Game object(游戏体)类在后台调用。
激活一个插件,使其在Serpent.AI代码内可见并可被访问到。
serpent activate <plugin_name>
- plugin_name: 你插件文件路径下的插件名
停用一个插件,使其在 Serpent.AI 代码内不可见且不可被访问。
serpent deactivate <plugin_name>
- plugin_name: 你插件文件路径下的插件名
列出所有已激活及未激活的插件。
serpent plugins
使用恰当的活跃的 Serpent.AI 插件启动游戏
serpent launch <game_name>
- game_name: 待启动游戏的名称 (举例来说,CoolGame)。
通过适当的 Serpent.AI 插件与指定的游戏代理玩游戏。游戏必须已经使用 serpent launch
命令启动。
serpent play <game_name> <game_agent_plugin_name> <frame_handler>
- game_name: 待启动游戏的名称 (举例来说,CoolGame)。
- game_agent_plugin_name: 游戏代理插件的全称。(举例来说, SerpentCoolGameGameAgent)
- frame_handler: 帧处理程序标签,可选。默认将依靠插件配置。
为游戏插件及游戏代理插件生成 Serpent.AI 插件代码。
serpent generate game
serpent generate game_agent
训练基于 Serpent.AI 预设的机器学习模型。
serpent train context <epochs>
- epochs: 训练的轮数,可选,默认为3。
需要使用serpent capture
先捕获上下文帧。
捕捉游戏图像帧和屏幕区域图像。游戏需要首先通过serpent launch
命令保证已启动。
serpent capture frame <game_name> <interval>
- game_name: 待启动游戏的名称 (举例来说,CoolGame)。
- interval: 图像帧捕获的时间间隔(秒),默认为1。
所捕获的游戏帧图像将会存储在 'datasets/collect_frames' 路径下
serpent capture context <game_name> <interval> <context_label>
- game_name: 待启动游戏的名称 (举例来说,CoolGame)。
- interval: 图像帧捕获的时间间隔(秒),默认为1。
- context_label*: 应用于捕获图像的标签。
所捕获的游戏帧图像将会存储在 'datasets/collect_frames_for_context/<context_label>' 路径下
serpent capture region <game_name> <interval> <screen_region>
- game_name: 待启动游戏的名称 (举例来说,CoolGame)。
- interval: 图像帧捕获的时间间隔(秒),默认为1。
- screen_region*: 在游戏插件内预定义好的屏幕区域。
所捕获的游戏帧图像将会存储在 'datasets/collect_frames/<screen_region>' 路径下
启动可视化调试器。
serpent visual_debugger
serpent visual_debugger custom_1 custom_2
启动一个 CLI 实例以帮助确定游戏插件中窗口名称的正确变量名。主要用于 MacOS 平台,因为在 Linux 和 Windows 系统上窗口标题可以直接使用。
serpent window_name