You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Unity中ML-Agent生成的.demo文件内容与结构?

查看Unity ML-Agent .demo文件内容与结构的方法

为什么文本查看器打开显示乱码

.demo文件是二进制序列化格式,并非纯文本,直接用普通文本编辑器打开自然会显示无法识别的乱码,必须用ML-Agent专属工具或代码解析。

官方工具解析步骤

ML-Agent自带命令行工具可将二进制.demo文件转为可读的JSON格式:

  • 执行以下命令(替换路径为你的实际文件路径):
    mlagents-learn --convert-demo path/to/your/demo_file.demo --output-path path/to/output.json
    
  • 转换后的JSON文件可直接用文本编辑器打开,能清晰看到每一步的状态、动作、奖励等完整数据。

自定义代码解析(Unity项目内)

如果需要在Unity中直接读取.demo文件内容,可使用ML-Agent提供的DemoReader类:

  1. 脚本中引入命名空间:using Unity.MLAgents.Demonstrations;
  2. 编写读取逻辑示例:
    var demoReader = new DemoReader("Assets/YourDemoPath/TargetDemo.demo");
    foreach (var stepData in demoReader.DemonstrationList)
    {
        // 获取单步核心数据
        var observationState = stepData.State;
        var agentAction = stepData.Action;
        var stepReward = stepData.Reward;
        // 按需打印或处理数据
        Debug.Log($"当前步骤奖励:{stepReward},执行动作:{agentAction}");
    }
    

.demo文件的数据结构说明

每个.demo文件由一系列演示步骤组成,每一步核心数据包含:

  • 状态(State):对应Agent脚本CollectObservations方法收集的观测数据,可能是数值向量、压缩后的视觉图像等。
  • 动作(Action):智能体执行的动作值,离散动作为整数类型,连续动作为浮点数数组。
  • 奖励(Reward):环境返回给智能体的单步奖励,为浮点数。
  • 元数据:包含演示版本号、智能体ID、时间戳等辅助信息。

内容的提问来源于stack exchange,提问作者Oksisiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 17:52:31