|
介入:Racoon X
用深度進修當「外挂」,本文将教你若何用 PyTorch 在GTA 5 中練習主動駕驶模子。
最新一代的侠盗猎車手 GTA 5 是如许一款遊戲,它内含一個故事驱動的高度自由化日本減肥藥推薦,世界,以致于遊戲推出以後,不少人在通关以後(或一點剧情没打)會测驗考试不少很是規的弄法。调解遊戲中的物理参数、當一個遵纪遵法的「大好人」,乃至在遊戲里進修侧方位泊車帮忙考駕照……
對付 AI 開辟者来讲,GTA 5 有一個巨大的虚拟世界,咱們在内里可以開車。以是為甚麼不克不及用来練習主動駕驶呢?在新冠疫情時代,咱們打遊戲的時候不竭增长,進而發生了斗胆的設法。
项目简介
這是一個利用深层神經收集并應用监视進修實如今 Grand Theft Auto V 中主動駕驶的開源项目。项目利用 PyTor汐止抽化糞池,ch 编写,并利用了 Nvidia 的 Apex 扩大库,支撑夹杂精度練習與揣度,至多约莫有两倍的速率晋升。練習後模子在駕驶時的计谋是仿照人玩 GTA 時的操作,其實不會去遵照遊戲里的交通法则。比方:地板油在街道上穿行,并避讓其他車辆與明目食物,行人。當在遊戲中設置好方针點後,練習好的模子可以或许自立地駕驶到對應方针點。
项目地點:
项目利用人工標識表记標帜的数据来練習深层神經收集,即起首记實下流戏中的画面已人玩遊戲時的键盘操作,以後利用该数据集来練習神經收集模子。
這里必要指出的是,本项目只是用 GTA V 作為主動駕驶的例子,理论上其可用于肆意一款駕驶的電子遊戲中。下图為利用練習後模子举行主動駕驶的結果展现。
总體框架
此前大大都测驗考试在電子遊戲中實现主動駕驶的模子均包括有深层卷积神經收集(凡是是 Inception 或 Resnet)。這些模子以单一图象作為输入。當你看到以下如许一张图象時你會作出甚麼样的反响呢?
這個项目包括了所有效于天生練習数据、举行模子練習和利用練習好的模子在遊戲中主動駕驶的文件。全部项目利用 Python 3 编写。作者仅在 Windows 10 體系下举行了测试,究竟結果大大都人都是在 Win 10 操作體系下玩的 PC 遊戲,Linux 和 Mac 上的遊戲仍是比力偏小眾一些。
依靠情况
運行本项目必要安装的依靠情况以下:
Pytorch
Torchvision
Nvidia Apex (only for FP16 training)
numpy
cupy (optional but highly reco妹妹ended especially for training the model, 1機車借款免留車,0x speed up in data preprocessing comparated with numpy)
cv2 (opencv-python)
glob
h5py
json
win32api (PythonWin) - Should be installed by default in newe降尿酸保健食品,st Python versions (Python 3.7 reccomended)
天生練習数据集
起首将遊戲設置為桌面模式,辨别率設置為 1600x900,将遊戲窗口移到桌面左上角位置,以下图所示:
python generate_data.py --save_dir tedd1007raining_data
该步伐會主動地捕获屏幕并天生用于練習的样本。這些文件将會被保留為「training_dataX.npz」。從新運行以上代码時不消担忧原数据集被笼盖,步伐會主動檢测目次中是不是已存在数据集文件。利用 Q + E 遏制采集数据。
練習模子
利用以下代码對模子举行練習:
python train.py --train_new
--train_dir tedd1007raining_datarain
--dev_dir tedd1007raining_datadev
--test_dir tedd1007raining_dataest
--output_dir tedd1007models
--batch_size 10
--num_epochs 5
--fp16
此中--fp16 可以或许讓咱們利用夹杂精度練習(必要显卡支撑半精度浮點運算,如:RTX 2000、RTX Titan、Titan V、Tesla V100 等),利用了 Nvidia 的 A去黑頭粉刺泥膜,pex 扩大库:。練習模子必要损耗大量的显存,项目作者把 batch size 設置為 15 在 RTX 2080 长進行練習。
利用以下代码從保留的 checkpoint 中继续練習:
python train.py --continue_training
--train_dir tedd1007raining_datarain
--dev_dir tedd1007raining_datadev
--test_dir tedd1007raining_dataest
--output_dir tedd1007models
--batch_size 10
--num_epochs 5
--checkpoint_path tedd1007checkpointepoch1checkpoint.pt
運行模子
練習完成以後,接下来便可以看 AI 是若何「開車」的了。利用以下号令運行模子:
python run_TEDD1104.py --model_dir D:GTAV-AImodels --show_current_control --fp16
假設读者的 GPU 有 tensor core 的话(如 RTX 2000、RTX Titan、Titan V、Tesla V100 等),举薦利用--fp16,可以或许将推理速率约莫晋升 2 倍并只损耗一半的显存。
GTA 5 里的载具手感和极品飞車等遊戲有所分歧,對付手残的咱們来讲撞墙在所不免。自從進修了人工智能,一切看来變得有了但愿。 |
|