第二部分
安裝TF#
TF#,即Tensorflow Sharp是Tensorflow的C#版本李破。得益于改項(xiàng)目蒲讯,使得tensorflow集成到unity中成為可能。(TF#的Git:https://github.com/migueldeicaza/TensorFlowSharp)
在ml-agent中呵哨,含有一個(gè)插件,叫做TFSharpPlugin.unitypackage轨奄,包含了TF#和ml-agent孟害。
下載地址:https://s3.amazonaws.com/unity-agents/TFSharpPlugin.unitypackage
如果下載較慢可以使用下面的地址:http://pan.baidu.com/s/1c1XArmC?密碼:aej8
安裝這個(gè)插件,把必要的dll文件添加到原有的工程中(也可以所有文件完全覆蓋掉)挪拟。
按照官方的說明文檔挨务,在unity中選擇菜單Editor->ProjectSetting->Player。在OtherSetting下的Scripting Define Symbols中添加一個(gè)宏定義ENABLE_TENSORFLOW
準(zhǔn)備訓(xùn)練完成的模型數(shù)據(jù)
在這些工作準(zhǔn)備就緒后玉组,按照之前一文《Win10下Unity人工智能代理ml_agent環(huán)境安裝》搭建環(huán)境并且最終運(yùn)行tensorflow的訓(xùn)練模型谎柄。如果一切順利沒有問題,那么就會在ml-agents\python\models\ppo這個(gè)目錄下生成一個(gè)3dball.byte文件惯雳。這個(gè)就是訓(xùn)練完成的模型數(shù)據(jù)朝巫。將其重命名為3dball_custom.byte(unity工程里面已經(jīng)含有官方訓(xùn)練好的模型數(shù)據(jù)文件,也叫3dball.byte石景,所以這邊為了區(qū)別進(jìn)行了重命名)劈猿。
使用訓(xùn)練完成的模型數(shù)據(jù)
復(fù)制3dball_custom.byte到unity中的Assets\ML-Agents\Examples\3DBall\ TFModels下拙吉。
打開Assets\ML-Agents\Examples\3DBall下的Scene場景
在Hierarchy面板中選擇Ball2DAcademy下的Ball3DBrain物體。
在Inspector面板中揪荣,將Brain組件的Type Of Brain設(shè)置為Internal(如果沒有這個(gè)選項(xiàng)筷黔,說明沒有在PlayerSetting中設(shè)置宏定義)。將Graph Model設(shè)置為我們剛剛訓(xùn)練完成的那個(gè)模型數(shù)據(jù)3dball_custom仗颈。
運(yùn)行
使用結(jié)果
可以看到平板會自動地?cái)[動必逆,盡可能不讓小球從平板上掉下來。說明此時(shí)揽乱,程序已經(jīng)正常使用了我們訓(xùn)練完成的模型數(shù)據(jù)
(效果和圖中類似,由于不知道怎么做gif粟矿,用的是別人的圖)