ML-Agent:經過TF#使用訓練完成的模型數據

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

安裝TF#

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

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

下載地址:https://s3.amazonaws.com/unity-agents/TFSharpPlugin.unitypackage人工智能

若是下載較慢能夠使用下面的地址:http://pan.baidu.com/s/1c1XArmC 密碼:aej8插件

安裝這個插件,把必要的dll文件添加到原有的工程中(也能夠全部文件徹底覆蓋掉)。3d

2017102201

按照官方的說明文檔,在unity中選擇菜單Editor->ProjectSetting->Player。在OtherSetting下的Scripting Define Symbols中添加一個宏定義ENABLE_TENSORFLOW代理

2017102202

準備訓練完成的模型數據

在這些工做準備就緒後,按照以前一文《Win10下Unity人工智能代理ml_agent環境安裝》搭建環境而且最終運行tensorflow的訓練模型。若是一切順利沒有問題,那麼就會在ml-agents\python\models\ppo這個目錄下生成一個3dball.byte文件。這個就是訓練完成的模型數據。將其重命名爲3dball_custom.byte(unity工程裏面已經含有官方訓練好的模型數據文件,也叫3dball.byte,因此這邊爲了區別進行了重命名)。code

使用訓練完成的模型數據

  • 複製3dball_custom.byte到unity中的Assets\ML-Agents\Examples\3DBall\ TFModels下。
  • 打開Assets\ML-Agents\Examples\3DBall下的Scene場景
  • 在Hierarchy面板中選擇Ball2DAcademy下的Ball3DBrain物體。
  • 在Inspector面板中,將Brain組件的Type Of Brain設置爲Internal(若是沒有這個選項,說明沒有在PlayerSetting中設置宏定義)。將Graph Model設置爲咱們剛剛訓練完成的那個模型數據3dball_custom。

2017102203

  • 運行

使用結果

能夠看到平板會自動地擺動,儘量不讓小球從平板上掉下來。說明此時,程序已經正常使用了咱們訓練完成的模型數據blog

f81bbb27a81546b7b368ca3f1a4d1970

(效果和圖中相似,因爲不知道怎麼作gif,用的是別人的圖)ip

轉載請保留:http://www.cnblogs.com/CodeGize      http://www.codegize.com

相關文章
相關標籤/搜索