MLAgents (0) Unity 安装及运行

2023-09-17 22:59:22

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

behaviors:
  RB:
    trainer_type: ppo
    hyperparameters:
      batch_size: 10
      buffer_size: 100
      learning_rate: 0.0003
      beta: 0.0005
      epsilon: 0.2
      lambd: 0.99
      num_epoch: 3
      learning_rate_schedule: linear
    network_settings:
      normalize: false
      hidden_units: 128
      num_layers: 2
    reward_signals:
      extrinsic:
        gamma: 0.99
        strength: 1.0
    max_steps: 500000
    time_horizon: 64
    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

继续上次训练的命令

更多推荐

网络工程师的爬虫技术之路:跨界电商与游戏领域的探索

随着数字化时代的到来,跨界电商和游戏行业成为了网络工程师们充满机遇的领域。这两个领域都依赖于高度复杂的技术来实现商业目标和提供卓越的用户体验。本文将深入探讨网络工程师在跨界电商和游戏领域的技术挑战以及应对这些挑战的方法。突破技术障碍的爬虫应用跨界电商业务通常需要大量的市场数据和竞争情报,而这些信息可能分散在全球各个网站

电机控制器HIL测试系统:实现高效、安全的硬件在环验证

电机控制器作为电动机系统的关键组成部分,其应用前景广泛,涵盖新能源汽车、工业自动化、航空航天、能源、医疗器械等领域。随着对环保、自动化和智能化的需求增加,电机控制器将在这些领域中扮演关键角色,为实现可持续发展和智能化生产提供强有力支持。同时,随着技术的不断进步,电机控制器的性能将得到进一步提升,为各行业提供更高效、可靠

基于SpringBoot的免税商品优选购物商城

目录前言一、技术栈二、系统功能介绍登录界面管理员功能模块商家功能模块用户前台功能模块三、核心代码1、登录模块2、文件上传模块3、代码封装四、文章目录前言随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,免税商品优选购物商城当然也不能排除在外,随着购物商城的不断成熟,它彻底改变了过去

二叉树链式存储结构

目录1.二叉树链式存储结构2.二叉树的遍历2.1前、中、后序遍历2.2层序遍历3.二叉树的其他递归问题3.1二叉树的结点个数​3.2二叉树的叶子结点个数3.3二叉树第k层结点个数3.4二叉树的深度3.5二叉树查找3.6二叉树销毁4.二叉树的基础OJ题4.1单值二叉树4.2检查两棵树是否相同4.3对称二叉树4.4另一棵树

OpenCV自学笔记十八:模板匹配

模板匹配是一种在图像中寻找指定模式的方法。OpenCV库提供了用于模板匹配的函数,可以帮助我们在图像中定位和识别特定的模式。下面是模板匹配的基础原理和一个示例:模板匹配通过在待匹配图像上滑动一个固定大小的模板图像,并计算模板与图像之间的相似度来寻找匹配位置。相似度通常使用相关性或差异度量来衡量。在滑动过程中,当相似度达

我的创作纪念日-毕业后碰到疫情三年的工作、学习和分享总结

机缘hi,各位朋友好,今天是距离我发布第一篇文章的第1024天,收到了系统私信说分享一下这段时间的收获可以给我一枚勋章。作为一个收集爱好者,决定发布一篇文章获取这枚勋章,同时郑重感谢来查看我的相关文章、给我建议和鼓励我的各位。我开始编辑文章的初衷,是我的记性不太好,学习到的东西很快就会忘记,所以决定将学到的东西详细记录

程序员过不去的坎-算法篇

一个程序员一生中可能会邂逅各种各样的算法,但总有那么几种,是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓!”算法吧~一:引言算法的重要性和应用场景算法重要性不言而喻,目前的短视频app全部依靠算法进行内容推荐,各大网站也是依靠算法进行内容的推荐。可以说算法已经无处不在。程序本身=算法

【Python爬虫】批量爬取豆瓣电影排行Top250

今天给大家分享下我刚开始接触Python时学习的爬虫程序,代码部分很简单,不过当时刚开始学习时还是走了不少弯路的。这个爬虫程序应该是很多书里面的入门练手程序,主要就是去豆瓣爬取电影评分排行前250。本篇文章只做学习交流使用,不涉及任何商业用途。如果有侵权请联系作者删除。大家在使用Python爬取信息时,请遵守该网站的相

Ubuntu下Nginx配置ModSecurity详细思路及过程

下面是一个简介:Ubuntu是一个linux操作系统,Nginx是一个web服务器软件,ModSecurity是一款开源的web应用防火墙(江湖人称“WAF”)。如果上面的概念没有一定的了解,下面的内容其实也能看。就是不好操作。一、准备在安装及配置之前,需要做如下准备:1.1安装需要的库在这之前,你应该配置了[ubun

LeetCode: 数组峰值与谷值问题总结 - Python

LeetCode:数组峰值与谷值问题总结问题描述:(1)剑指Offer11.旋转数组的最小数字,存在重复元素找最小值(2)LeetCode:153.寻找旋转排序数组中的最小值,元素不相同,找最下值(3)LeetCode:154.寻找旋转排序数组中的最小值II,存在重复元素,找最小值(4)LeetCode:162.寻找峰

linux拨号上网

在Linux上进行拨号上网通常需要使用PPPoE(Point-to-PointProtocoloverEthernet)协议,这是一种用于通过以太网连接进行拨号上网的常见协议。以下是在Linux上设置PPPoE连接的一般步骤:请注意,这些步骤可能会因你使用的Linux发行版而有所不同,以下是一个通用的示例:安装pppo

热文推荐