【Unity-ML】Unity机器学习(一)

news2024/11/26 0:27:35
  1. 安装环境:Windows10 + Anaconda3(64-bit),网上很多教程,例如这个anaconda下载及安装(保姆级教程) - 知乎anaconda包管理器和环境管理器,强烈建议食用 1.下载官网下载太慢可选用镜像下载 官网下载: Anaconda | Individual Edition 镜像下载: Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open …https://zhuanlan.zhihu.com/p/459601766安装n卡驱动,安装cuda toolkit,注意版本号兼容,我使用的版本:Anaconda3-2023.03-Windows-x86_64,驱动版本531.14,cuda 12.1。
  2. 克隆仓库:https://github.com/Unity-Technologies/ml-agents   icon-default.png?t=N3I4https://github.com/Unity-Technologies/ml-agents版本为develop(cc1a750)
  3. 初始化ml环境:管理员模式打开Anaconda命令行,创建虚拟环境
    # 虚拟环境名字随便起,比如unity_ml,python 3.9.16,这个版本号一定选好,否则后果自负
    conda create -n unity_ml python=3.9.16
    ,切换虚拟环境
    # 虚拟环境名使用刚创建好的那个
    conda activate unity_ml
    # 退出虚拟环境
    # conda deactivate
    ,安装pytorch+初始化(官方文档ml-agents/Installation.md at release_18_docs · Unity-Technologies/ml-agents · GitHub)
    # 啥都不靠谱,就按照官方的文档来,https://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Installation.md
    # 记得先 cd 到 ml-agents 目录下
    pip3 install torch -f https://download.pytorch.org/whl/torch_stable.html
    pip3 install -e ./ml-agents-envs
    pip3 install -e ./ml-agents
    
    # 这里 pip 或 pip3 都能执行,各位老爷看自己环境装的啥,能用啥就用啥。但是python必须得是可执行的,有的环境下是python3,这个可能会有问题,所以才要使用Anaconda的虚拟环境管理。
    ,这里被版本号坑惨了,列出我的环境版本号
    absl-py                 1.4.0
    attrs                   23.1.0
    cachetools              5.3.0
    cattrs                  1.5.0
    certifi                 2022.12.7
    charset-normalizer      3.1.0
    cloudpickle             2.2.1
    coloredlogs             15.0.1
    filelock                3.12.0
    flatbuffers             23.3.3
    google-auth             2.17.3
    google-auth-oauthlib    1.0.0
    grpcio                  1.54.0
    gym                     0.26.2
    gym-notices             0.0.8
    h5py                    3.8.0
    humanfriendly           10.0
    idna                    3.4
    importlib-metadata      6.6.0
    Jinja2                  3.1.2
    Markdown                3.4.3
    MarkupSafe              2.1.2
    mlagents                0.31.0.dev0 d:\project\github\ai\ml-agents\ml-agents
    mlagents-envs           0.31.0.dev0 d:\project\github\ai\ml-agents\ml-agents-envs
    mpmath                  1.3.0
    networkx                3.1
    numpy                   1.21.2
    oauthlib                3.2.2
    onnx                    1.12.0
    onnxruntime             1.12.1
    onnxruntime-gpu         1.12.1
    packaging               23.1
    PettingZoo              1.15.0
    Pillow                  9.5.0
    pip                     23.0.1
    protobuf                3.20.1
    pyasn1                  0.5.0
    pyasn1-modules          0.3.0
    pypiwin32               223
    pyreadline3             3.4.1
    pywin32                 306
    PyYAML                  6.0
    requests                2.28.2
    requests-oauthlib       1.3.1
    rsa                     4.9
    setuptools              66.0.0
    six                     1.16.0
    sympy                   1.11.1
    tensorboard             2.12.2
    tensorboard-data-server 0.7.0
    tensorboard-plugin-wit  1.8.1
    torch                   2.0.0+cu118
    typing_extensions       4.5.0
    urllib3                 1.26.15
    Werkzeug                2.2.3
    wheel                   0.38.4
    zipp                    3.15.0
    ,仅供参考,版本号不对太TMD折磨人了。
  4. 启动unity工程:在目录 ml-agents\Project 下,我用的unity版本是 2021.3.21f1c1
  5. 启动mlagents-learn:还是跟着官方文档走(ml-agents/Getting-Started.md at release_18_docs · Unity-Technologies/ml-agents · GitHubThe 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. - ml-agents/Getting-Started.md at release_18_docs · Unity-Technologies/ml-agentshttps://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Getting-Started.md
    # 3DBall.yaml 是第一个例子的配置文件,对应工程Assets/ML-Agents/Examples/3DBall/Scenes/3DBall.unity,run-id随便给个名就行,主要是在results路径下生成子文件夹
    mlagents-learn config/ppo/3DBall.yaml --run-id=first3DBallRun
    # 成功启动不报错就好
    ,缺啥装啥,版本号不对就降级/升级。
  6. 开始训练:unity编辑器点一下play,就看它跑就行了,命令行这边会出日志,图形化可以使用tensorboard查看,(我是看不懂),不想训练了就在命令行Ctrl + C,结果保存在result目录下 *.onnx 文件;
  7. 应用模型:找到 BehaviorParameters 节点,设置Model参数,BehaviorType设置为InferenceOnly,不启动命令行的 mlagents-learn 直接Play就可以了。
  8. 无图形界面训练:参考官方文档ml-agents/Learning-Environment-Executable.md at release_18_docs · Unity-Technologies/ml-agents · GitHubThe 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. - ml-agents/Learning-Environment-Executable.md at release_18_docs · Unity-Technologies/ml-agentshttps://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Learning-Environment-Executable.md,直接运行 mlagents-learn ,参数额外加上 
    --env=3DBall 3DBall就是构建的程序名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Softing FiberXpert 700光纤测试套件助力一级多模和单模光纤认证

FiberXpert 700是用于多模和单模的四路波长测试套件,不仅可以对光纤链路进行直观、灵活和快速地认证,而且可以导出数据报告。 测试网络安装以确保其符合指定标准的过程称为认证,并且这通常需要纸质文件作为符合标准的证明。而FiberXpert 700光…

Docker 的数据管理

一、Docker 的数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。 1.数据卷 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿…

为什么说网络安全行业是IT的风口行业?

前言 2023年网络安全行业的前景看起来非常乐观。根据当前的趋势和发展,一些趋势和发展可能对2023年网络安全行业产生影响: 5G技术的广泛应用:5G技术的普及将会使互联网的速度更快,同时也将带来更多的网络威胁和安全挑战。网络安全…

eBPF技术介绍

前言 eBPF起源于linux内核,它可以以砂箱程序运行在操作系统内核的特权上下文,高效,安全,易于扩展而不需要修改内核源码或者加载内核模块。 操作系统一直是实现观测,安全和网络功能的最理想的地方,因为内核的…

Vue基本的内置指令

前言 除了常见的v-bind,v-for,v-if,v-on.v-model等,本次学习一些vue提供的其他内置指令 1 v-text 给标签插入文本,类似于插值语法 它会把全部的字符串当成文本去解析,不会当成标签的,哪怕写的是标签结构 效果和插值语法是一样的 插值语法比v-text更加…

P1037 [NOIP2002 普及组] 产生数

题目描述 给出一个整数 �n 和 �k 个变换规则。 规则: 一位数可变换成另一个一位数。规则的右部不能为零。 例如:�234,�2n234,k2。有以下两个规则: 2⟶52⟶5。3⟶63⟶6。 上面的整数 23423…

SpringBoot的配置和日志

1.配置文件的作用和意义 配置文件中配置整个项目中所有重要的数据,比如: 1.数据库的连接信息(包含用户名和密码的设置); 2.项目的启动端口; 3.第三方系统的调用秘钥等信息; 4.用于发现和定位问…

docker--harbor私有仓库部署与管理

目录 第一章.搭建本地私有仓库 1.1.下载 registry 镜像 1.2.运行 registry 容器 1.3.Docker容器的重启策略如下: 1.4.简单操作 第二章. Harbor 简介 2.1.什么是Harbor 2.2.Harbor的特性 2.3.Harbor的构成 第三章.部署服务 3.1.环境部署 3.2.部署 Docker…

USART串口协议和USART串口外设(USART串口发送串口发送和接收)

1、通信接口 • 通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统 • 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发 异步:需要双方约定一个频率 2、 硬件电路 • 简单双向串口通信有两根通信…

基于springboot和ajax的简单项目 013 ztree插件使用,这是关于修改和新增的

先写写的是menu_list.html文件上的内容。 01.在自动加载函数上写点击事件 $(".input-group-btn").on("click",".btn-delete",doDeleteObject).on("click",".btn-add,.btn-update",doLoadEditUI);02.登录函数: …

30秒预测10天全球天气,上海人工智能实验室发布气象大模型“风乌”效果超DeepMind

4月7日,上海人工智能实验室联合中国科学技术大学、上海交通大学、南京信息工程大学、中国科学院大气物理研究所及上海中心气象台发布全球中期天气预报大模型“风乌”。基于多模态和多任务深度学习方法构建,AI大模型“风乌”首次实现在高分辨率上对核心大…

Speech and Language Processing-导读

朋友们,最近打算做一个大工程,我曾多次提过,chatgpt未来将是一股非常大的信息技术革命,有的人不以为然,或者国内很多企业好像并不是很重视,以我从业多年来的经验,chatgpt与之前的NLP技术有着较为…

【jenkins学习】windows环境下部署与设置中文显示

准备: jenkins安装包: https://www.jenkins.io/zh/download/ Java 17安装包: https://www.oracle.com/java/technologies/downloads/#jdk17-windows 1、jdk安装 不建议放在C盘,自定义一个不含中文的路径,安装即可 配置…

轻松掌握K8S目录持久卷PV/PVC的kubectl操作知识点04

1、介绍 在docker中可以将容器中的目录挂载出来,在k8s中pod可以部署在不同节点,假如该节点的机器宕机了,k8s可能就会将此Pod转移到其他机器,就不是原先的机器了。k8s有自己的一套挂载方案,如下图所示, 原…

Flink通过Maxwell读取mysql的binlog发送到kafka再写入mysql

1.准备环境 JDK1.8 MySQL Zookeeper Kakfa Maxweill IDEA 2.实操 2.1开启mysql的binlog 查看binlog 状态,是否开启 show variables like log_% 如果log_bin显示为ON,则代表已开启。如果是OFF 说明还没开启。 [Linux] 编辑 /etc/my.cnf 文件&…

什么品牌台灯最舒服?推荐最热门的护眼灯品牌排行

台灯是人们生活中用来照明的一个电器,平时阅读跟学习时都会用来照明,补充室内不足的光线。 那么,台灯哪个品牌最舒服?分享几款好用的护眼台灯给大家。 (1) 南卡护眼台灯Pro 南卡是目前国内护眼效果方面做得最棒的一个品牌&#x…

企业本地文档如何实现规范在线管理?

随着企业数字化生产方式的不断推进,网络办公和在线协作越来越普遍,企业内部可能出现大量的文件和文档,这些文档多存在于不同的设备和存储介质上,这给企业的信息管理带来了一定程度的困难。为了提高企业的知识管理效率,…

SpringCloudTencent:安装北极星polaris服务

腾讯推出了自己的微服务框架,其中polaris(北极星)服务更是核心,除了提供服务发现和治理中心,除服务发现、服务注册和健康检查之外,还提供流量控制、故障容错和安全能力。现在我们试着快速安装一下。 1.win…

Java笔记_11(常见算法)

Java笔记_11常见算法 一、常见算法1.1、查找算法1.2、排序算法 二、Arrays三、Lambda表达式四、综合练习4.1、按照要求进行排序4.2、不死神兔4.3、猴子吃桃子4.4、爬楼梯 一、常见算法 1.1、查找算法 基本查找 package Common_algorithms.Basic_Search;import java.util.Ar…

IT运维:服务器管理

服务器是连接到其他设备以提供服务的设备。其他设备称为客户端,此设置称为客户端-服务器模型。 服务器提供的服务包括存储数据、托管网站、运行应用程序、中继信息和执行计算。任何向发出请求的客户端提供服务的设备都可以充当服务器,但大型IT组织通常具…