unity中使用tensorflow 深度学习框架 ml-agents v0.8,TFSharpPlugin.unitypackage 0.5最新版 教程(for mac windows)

2023-11-15

unity tensorflow 环境安装

unity tensorflow 官方 教程
unity版本必须经过配置。不像c#那样简单。

第一部分, 安装tensorflow环境
1,安装anaconda

anaconda 是python的包管理程序,有了它tensorflow的配置会简化不少,兵器额允许各种不同版本的python同时存在十分方便。conda的基础命令教程在https://blog.csdn.net/lengyoumo/article/details/102720967,感兴趣的可以去查阅

第一步我们需要到anaconda官网选择适合的系统版本,windows或mac。安装完成后,打开命令行就可以输入conda命令了。

2,使用anaconda创建python环境

打开命令行工具,输入以下命令:
创建python环境

conda create -n python3.6 python=3.6   

这段命令的意思是建立一个名为python3.6的 环境,该环境python版本是3.6
输入命令后一路回车就可以进行环境安装了。
安装完成后输入以下指令进入刚刚创建的环境

conda activate python3.6
安装tensorflow

继续在命令行中输入命令:

 pip install tensorflow

该命令的作用是在当前环境安装tensorflow。值得一提的是tensorflow分为两个版本,一个是cpu版一个是gpu版。如果你的显卡是中、高端显卡,推荐你安装gpu版本,本人实测在gtx2080显卡下,训练速度提高了不止30倍。
关于tensorflow的不同版本安装详情,请查看此教程https://blog.csdn.net/lengyoumo/article/details/89272188

安装mlagents 的python环境工具
pip install mlagents
安装unity的mlgents部分
1. 获取mlgents

在git中输入以下命令直接获取资源,也可以直接到https://github.com/Unity-Technologies/ml-agents.git下载获取代码包

git clone https://github.com/Unity-Technologies/ml-agents.git
2. 安装依赖

进入刚下载的ml-agents相关目录,执行以下命令安装项目所需的文件!

cd ml-agents-envs
pip install -e ./
cd ..
cd ml-agents
pip install -e ./

以上命令是分别进入ml-agents-envs和ml-agents目录使用pip install -e来安装依赖
然后等待安装结束即可

三 测试!!!
  1. 打开unity 新建一个项目
  2. 将ml-agents目录下的unity-sdk -> assets目录下的所有文件都拖到unity项目中的Assets目录中。
  3. 在unity中打开simple中的scene 运行即可看到效果!
关于在unit中使用tensflow

该项目依赖tensorflow环境,当你的程序打包出来后,要求客户端也需要有tensorflow才行。如果希望直接就能使用(包括android ios),那就要使用TFSharpPlugin才行。另外,如果想在项目中直接调用tensflow的api 也需要引入这个库。

搞定TensorFlowSharp

TensorFlowSharp项目
c# 项目(非unity)可以直接使用 只要在vs2019中项目选项中设置nuget包,搜索tensorflowSharp 然后引入,既可直接在项目中使用。
项目地址:https://github.com/migueldeicaza/TensorFlowSharp
unity 则必须使用 tensorflowsharp的unity专用包 。该包包含一个tensorflow环境,使你不必依赖系统环境。可以直接跨平台打包。
unity包地址:https://s3.amazonaws.com/unity-ml-agents/0.5/TFSharpPlugin.unitypackage
该包包含ml-agents 和 TensorFlowSharp!
下面有测试代码哦~
如果该文章帮到了你,麻烦给个赞,多谢!!

相关文章
https://www.atyun.com/25429.html

测试tensorflowSharp 的代码

在代码中添加

using System;
using TensorFlow;
using System.Collections;
using System.Text;
using tensorflowCtest;
//using TensorFlowSharpCore;

namespace tensorflowCtest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            using (var session = new TFSession())
            {
                var graph = session.Graph;
                Console.WriteLine(TFCore.Version);
                var a = graph.Const(2);
                var b = graph.Const(3);
                Console.WriteLine("a=2 b=3");

                // 两常量加 
                var addingResults = session.GetRunner().Run(graph.Add(a, b));
                var addingResultValue = addingResults.GetValue();
                Console.WriteLine("a+b={0}", addingResults);

                // 两常量乘
                var multiplyResults = session.GetRunner().Run(graph.Mul(a, b));
                var multiplyResultValue = multiplyResults.GetValue();
                Console.WriteLine("a*b={0}", multiplyResultValue);
                var tft = new TFTensor(Encoding.UTF8.GetBytes($"Hello TensorFlow Version {TFCore.Version}! LineZero"));
                var hello = graph.Const(tft);
                var helloResults = session.GetRunner().Run(hello);
                Console.WriteLine(Encoding.UTF8.GetString((byte[])helloResults.GetValue()));
            }
            Console.ReadKey();
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity中使用tensorflow 深度学习框架 ml-agents v0.8,TFSharpPlugin.unitypackage 0.5最新版 教程(for mac windows) 的相关文章

  • Python - 将宽字符字符串从二进制文件转换为 Python unicode 字符串

    这是漫长的一天 我有点困惑 我正在读取一个包含大量宽字符字符串的二进制文件 我想将它们转储为 Python unicode 字符串 为了解压非字符串数据 我使用 struct 模块 但我不知道如何对字符串执行相同的操作 例如 阅读 系列 一
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)

    我已经查看了很多问题 但仍然无法完全弄清楚 我正在使用 PyQt 并且希望能够运行ffmpeg i file mp4 file avi并获取流式输出 以便我可以创建进度条 我看过这些问题 ffmpeg可以显示进度条吗 https stack
  • 如何使用 imaplib 获取“消息 ID”

    我尝试获取一个在操作期间不会更改的唯一 ID 我觉得UID不好 所以我认为 Message ID 是正确的 但我不知道如何获取它 我只知道 imap fetch uid XXXX 有人有解决方案吗 来自 IMAP 文档本身 IMAP4消息号
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • 在 pytube3 中获取 youtube 视频的标题?

    我正在尝试构建一个应用程序来使用 python 下载 YouTube 视频pytube3 但我无法检索视频的标题 这是我的代码 from pytube import YouTube yt YouTube link print yt titl
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • python Soap zeep模块获取结果

    我从 SOAP API 得到如下结果 client zeep Client wsdl self wsdl transport transport auth header lb E authenticate self login res cl
  • 使用 Firefox 绕过弹出窗口下载文件:Selenium Python

    我正在使用 selenium 和 python 来从中下载某些文件web page http www oceanenergyireland com testfacility corkharbour observations 我之前一直使用设
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • 如何为每个屏幕添加自己的 .py 和 .kv 文件?

    我想为每个屏幕都有一个单独的 py 和 kv 文件 应通过 main py main kv 中的 ScreenManager 选择屏幕 设计应从文件 screen X kv 加载 类等应从文件 screen X py 加载 Screens
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d

随机推荐