• ML-Agent:通过TF#使用训练完成的模型数据


    (本文来自:http://www.cnblogs.com/CodeGize  http://www.codegize.com

    安装TF#

    TF#,即Tensorflow Sharp是Tensorflow的C#版本。得益于改项目,使得tensorflow集成到unity中成为可能。(TF#的Git:https://github.com/migueldeicaza/TensorFlowSharp

    在ml-agent中,含有一个插件,叫做TFSharpPlugin.unitypackage,包含了TF#和ml-agent。

    下载地址:https://s3.amazonaws.com/unity-agents/TFSharpPlugin.unitypackage

    如果下载较慢可以使用下面的地址:http://pan.baidu.com/s/1c1XArmC 密码:aej8

    安装这个插件,把必要的dll文件添加到原有的工程中(也可以所有文件完全覆盖掉)。

    2017102201

    按照官方的说明文档,在unity中选择菜单Editor->ProjectSetting->Player。在OtherSetting下的Scripting Define Symbols中添加一个宏定义ENABLE_TENSORFLOW

    2017102202

    准备训练完成的模型数据

    在这些工作准备就绪后,按照之前一文《Win10下Unity人工智能代理ml_agent环境安装》搭建环境并且最终运行tensorflow的训练模型。如果一切顺利没有问题,那么就会在ml-agentspythonmodelsppo这个目录下生成一个3dball.byte文件。这个就是训练完成的模型数据。将其重命名为3dball_custom.byte(unity工程里面已经含有官方训练好的模型数据文件,也叫3dball.byte,所以这边为了区别进行了重命名)。

    使用训练完成的模型数据

    • 复制3dball_custom.byte到unity中的AssetsML-AgentsExamples3DBall TFModels下。
    • 打开AssetsML-AgentsExamples3DBall下的Scene场景
    • 在Hierarchy面板中选择Ball2DAcademy下的Ball3DBrain物体。
    • 在Inspector面板中,将Brain组件的Type Of Brain设置为Internal(如果没有这个选项,说明没有在PlayerSetting中设置宏定义)。将Graph Model设置为我们刚刚训练完成的那个模型数据3dball_custom。

    2017102203

    • 运行

    使用结果

    可以看到平板会自动地摆动,尽可能不让小球从平板上掉下来。说明此时,程序已经正常使用了我们训练完成的模型数据

    f81bbb27a81546b7b368ca3f1a4d1970

    (效果和图中类似,由于不知道怎么做gif,用的是别人的图)

    转载请保留:http://www.cnblogs.com/CodeGize      http://www.codegize.com

    个人博客请访问:http://www.cnblogs.com/CodeGize/
  • 相关阅读:
    git ssh keys
    git 修改 email
    git 撤销commit
    企微调试模式
    ORACLE 根据某个字段固定值进行分区
    Apache FtpClient login失败
    Oracle序列
    Oracle merage into
    Oracle all_tables 以及常用sql
    性能优化-使用高性能的库fastutil
  • 原文地址:https://www.cnblogs.com/CodeGize/p/7711095.html
Copyright © 2020-2023  润新知