• MLAgents (0) Unity 安装及运行


    1、下载ML-Agents

    下载地址

    GitHub - Unity-Technologies/ml-agents: The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.

     在develop-Tags中,选择release_18

    下载zip文件,解压

    2、anaconda配置pytorch环境

    conda create -n 名称 python=3.9.9

    注意:Python 3.9.10 以上目前与mlagents-learn 套件不相容,会出现错误TypeError: Invalid first argument to `register()`. typing.Dict[mlagents.trainers.settings.RewardSignalType, mlagents.trainers.settings.RewardSignalSettings] is not a class.

     conda activate 名称

    激活环境

    在环境中安装pytorch

    conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
    

     安装完成后,执行python-->import torch-->torch.cuda.is_available()

    如果为true,则安装成功

    3、安装ml-agents-release_18所需要的库

    在anaconda激活的环境中

    (1)cd ml-agents-release_18的文件目录

    定位到ml-agents-envs,在文件夹中创建文件setup.cfg清华源加快下载速度

    [easy_install]

    index_url = https://pypi.tuna.tsinghua.edu.cn/simple

    执行命令 python setup.py install

    安装库

    安装出现 Finished processing dependencies for mlagents-envs==0.27.0

    则为安装成功

    (2)cd ..  --> cd ml-agents

    也增加setup.cfg文件

    执行命令 python setup.py install

    出现错误:error: urllib3 2.0.4 is installed but urllib3<2.0 is required by {'google-auth'}

    执行:pip uninstall urllib3

    pip install -i https://pypi.douban.com/simple urllib3=1.26.9

    重新安装urllib3

    再次执行python setup.py install

    当出现 Finished processing dependencies for mlagents==0.27.0

    即为安装完成

    4、在unity中 Window--> Package Manager

    找到 com.unity.ml-agents,导入package.json

    等待安装完成

    之后可以搭建环境,并设置参数等

    5、开启ml-agents,运行项目

    在unity项目中,创建training-->xxx_config.yamlzheshi

    1. behaviors:
    2. RB:
    3. trainer_type: ppo
    4. hyperparameters:
    5. batch_size: 10
    6. buffer_size: 100
    7. learning_rate: 0.0003
    8. beta: 0.0005
    9. epsilon: 0.2
    10. lambd: 0.99
    11. num_epoch: 3
    12. learning_rate_schedule: linear
    13. network_settings:
    14. normalize: false
    15. hidden_units: 128
    16. num_layers: 2
    17. reward_signals:
    18. extrinsic:
    19. gamma: 0.99
    20. strength: 1.0
    21. max_steps: 500000
    22. time_horizon: 64
    23. summary_freq: 10000

    设置完成后,在anaconda中,定位到unity项目的training

    cd xx/xx/unity_project/training

    执行命令: mlagents-learn.exe xxx.yaml --run-id=RB

    报错:ModuleNotFoundError: No module named 'six'

    执行 pip install -i https://pypi.douban.com/simple six

    再次执行命令

    当出现以下界面

    则运行成功,端口也开启成功 

    此时点击unity的运行按钮,执行运行操作

    结果生成在training文件夹中

    当要界面化看结果时,需要执行命令

    tensorbord.exe --logdir results --port 6006

    预训练后的模型保存在Assets中,要使用预训练后的模型

    可将模型拖到Behavior Parameters的Model上

    mlagents-learn.exe xxx.yaml --run-id=RB --resume

    继续上次训练的命令

  • 相关阅读:
    美赞臣EDI 940仓库装运订单详解
    React报错之Object is possibly null
    Linux CentOS 7 离线安装.NET环境
    Kubernetes容器状态探测的艺术
    2024CFA一级notes百度网盘下载
    Human Guided Ground-truth Generation for Realistic Image Super-resolution
    2.1.1+2.1.3进程的概念、组成、特征
    SpringBoot异步任务、邮件任务、定时任务
    Java内存模型(JMM)详解
    回归啦!!!
  • 原文地址:https://blog.csdn.net/jiangyangll/article/details/132956578