社区论坛

Community Forum

技术共享
Yoly 发表于:2021-02-25 15:20:43 回复 3 赞 6 892

在图灵网的人机对抗AI训练场完成训练后,我们可以前往对抗平台使用模型进行对抗来衡量模型表现;但在前往对抗平台之前,我们也可以通过以下几个途径,初步评估模型的优劣。

1. 通过TensorBoard查看训练数据

对于RL学习框架训练的AI,我们可以通过TensorBoard查看训练数据。 

image.png

TensorBoard 的工作原理是读取模型训练时产生的 TensorFlow events 文件,实现监控指标的可视化。目前开放的是SCALARS指标,也是TensorBoard的默认打开样式,此处显示Loss曲线图与Reward曲线图。

训练过程中,TensorBoard实时更新训练数据(在右上角设置中可勾选Reload data every 30s30秒更新一次数据),这样在训练结束后,保留下来的TensorBoard 界面将显示完整训练的曲线图。

image.png

我们可以通过reward数据为正的比例粗略衡量训练的模型表现,同时在训练过程中监控训练是否异常,例如reward曲线持续是水平直线,等等。一个较良好的曲线如图:

    image.png

同时可鼠标浮标查看每个run的具体数值    

    image.png

界面右上角INACTIVE”处存放的是TensorBoard 尚未开放的面板。例如IMAGE面板,一般在如果模型输入是图像(的像素值)时需要用来监控图像输入迭代等;GRAPHS面板可以展示出你所构建的网络整体结构,显示数据流的方向和大小,也可以显示训练时每个节点的用时、耗费的内存大小以及参数多少,等等。目前仅开放了SCALARS展示lossreward情况,如果对其他面板有需求,欢迎留言交流。


2. 上传复盘文件查看推演和得分

除了训练过程中与训练结束后通过曲线图监测训练效果,对训练过程有疑问的,可以在下载模型之后,通过上传复盘文件来核实每一局推演的具体情况。

点击“下载模型与Agent”下载模型:

    image.png

复盘文件存放在训练完毕后项目文件的ai/logs/replay下,将复盘文件上传至陆战兵棋推演复盘系统(http://wargame.ia.ac.cn:8080/2DREPLAY/#/),可以播放推演并且核实结果。    

image.png    

image.png


3. 下载模型运行测试代码

ai/test_model.py是用来测试model_save文件夹下模型文件的测试代码,模型文件存放在model_save文件夹下通过测试某场景下已训练完成的模型固定局数中能胜利多少局,来衡量模型表现。

测试代码中已有想定、角色、对手等的默认值,其中可在代码中修改enemy来切换对手。测试对手默认demoAI

enemy = DemoAgent()

例如将测试的对手改为紫冬智剑,则:

from ai.examples.ai.agent import Agent as zizhidongjianAgent

enemy = zizhidongjianAgent()

测试场景的想定、角色等可在执行命令中传入新参数来切换。测试命令示例:

Test red agent

cd yourBaselineAI

python3 ai/test_model.py --color 0 --model_num 0 --test_path model_save

Test blue agent

cd yourBaselineAI

python3 ai/test_model.py --color 1 --model_num 0 --test_path model_save

   

  一个测试结果:下图为过探索四级的RLAI201033029601想定对战DemoAI最后一局的分数情况与最后胜率,可以看到结果为10局1胜。

     image.png

  

  关于对训练模型的自行测试,如果有什么建议或者遇到什么问题,也欢迎留言交流。


  • nc

    请问下载alphawar后如何开始训练 

    2021-03-09 19:56:15
  • 姚蒙
    cd baselineAI
    python3 ai/rl_train.py  --scenario 201033029601 --color 0 --opponent 0 --cross_policy_weights 0.25


    2021-03-10 14:26:01
    回复 nc:

    请问下载alphawar后如何开始训练 

    2021-03-09 19:56:15
  • xdyhx

    Traceback (most recent call last):
      File "ai/rl_train.py", line 161, in <module>
        c = rl_train(args.batchsize, args.color, 201033029601, b, args.train_game_num, args.frame_skip_num, args.save_model_path)
      File "ai/rl_train.py", line 49, in __init__
        self.rewardsys = rewardSys(self.color)
      File "./ai/perception.py", line 98, in __init__
        self.map = Map(201033029601)
      File "core/utils/map.py", line 10, in utils.map.Map.__init__
      File "core/env/wgloader/file_loader.py", line 34, in env.wgloader.file_loader.FileLoader.__init__
    AssertionError


    你好,请问这个是怎么回事

    2023-03-17 19:01:33
    回复 姚蒙:
    ......
    
    										
    2021-03-10 14:26:01
  • 立即登录游客您好,可以登录后发布评论哦!
6
回复帖子 返回顶部

请选择对留言操作
删除留言(管理员或楼主)
问题反馈
请将您的宝贵意见反馈给我们