DonkeySim挑战赛

DonkeySim挑战赛

  • 如果不使用神经网络的参赛者仅需看第4与第5部分内容!
  • 1.0 DonkeyCar的安装
    • 1.1安装miniconda Python 3.7
    • 1.2安装git 64 bit
    • 1.3创建项目目录
    • 1.4从Github获取最新的Donkeycar
    • 1.5更换国内源
    • 1.6更新与删除
    • 1.7创建Python Anaconda环境
    • 1.8安装Tensorflow GPU(可选)
    • 1.9创建工作目录
  • 2.0安装DonkeySim
  • 3.0修改相应文件
    • 3.1修改dtypes.py
    • 3.2修改train.py文件
  • 4.0 DonkeySim模拟器的使用
    • 4.1下载DonkeySim模拟器
    • 4.2设置验证
    • 4.3获取自己的训练数据
    • 4.4训练模型
    • 4.5评估模型
  • 5.0 DonkeySim挑战赛
    • 5.1 DonkeySim挑战赛类别
    • 5.2 DonkeySim参赛者提交文件
      • 5.2.1选手与作品简介
      • 5.2.2数据文件
      • 5.2.3视频文件
    • 5.3 DonkeySim挑战赛评比方式
  • DonkeySim挑战赛群
  • QQ:913557234

如果不使用神经网络的参赛者仅需看第4与第5部分内容!

1.0 DonkeyCar的安装

1.1安装miniconda Python 3.7

安装miniconda Python 3.7 64位。
安装方法参见:Windows 10下安装Miniconda3

1.2安装git 64 bit

安装git 64 bit。
安装方法参见:GIT -2.18.0-64.bit 的安装与使用

1.3创建项目目录

  • 从开始菜单启动Anaconda Prompt
  • 创建并更改为您希望用作项目的目录
C:\Users\adminitrator>d:
D:\>mkdir projects
D:\>cd projects

1.4从Github获取最新的Donkeycar

git clone https://github.com/autorope/donkeycar
cd donkeycar
git checkout master

1.5更换国内源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set show_channel_urls yes

1.6更新与删除

conda update -n base -c defaults conda
conda env remove -n donkey

1.7创建Python Anaconda环境

conda env create -f install\envs\windows.yml
conda activate donkey
pip install -e .[pc]

1.8安装Tensorflow GPU(可选)

如果你有NVidia卡,你应该更新到最新的驱动程序并安装Cuda SDK。

conda install tensorflow-gpu==1.13.1

1.9创建工作目录

donkey createcar --path D:/mycar

安装keras-vis

pip install keras-vis

2.0安装DonkeySim

d:
cd projects
git clone https://github.com/tawnkramer/gym-donkeycar
conda activate donkey
pip install -e gym-donkeycar

3.0修改相应文件

3.1修改dtypes.py

文件位置:D:\Miniconda3\envs\donkey\lib\site-packages\tensorflow\python\framework\dtypes.py。
修改dtpes.py文件的第526~530、535行。
原:

_np_qint8 = np.dtype([("qint8", np.int8, 1)])
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
np_resource = np.dtype([("resource", np.ubyte, 1)])

修改为:

_np_qint8 = np.dtype([("qint8", np.int8, (1,))])
_np_quint8 = np.dtype([("quint8", np.uint8, (1,))])
_np_qint16 = np.dtype([("qint16", np.int16, (1,))])
_np_quint16 = np.dtype([("quint16", np.uint16, (1,))])
_np_qint32 = np.dtype([("qint32", np.int32, (1,))])
np_resource = np.dtype([("resource", np.ubyte, (1,))])

3.2修改train.py文件

文件位置:D:\projects\gym-donkeycar\examples
\supervised_learning\train.py
修改train.py文件的第29行:
原:

matplotlib.use('Agg')

修改为:

matplotlib.use('TkAgg')

4.0 DonkeySim模拟器的使用

4.1下载DonkeySim模拟器

从Donkey Gym Release下载并解压主机PC平台上可运行的模拟器(DonkeySimWindows.zip)。
将模拟器放在合适的位置。如:~/projects/DonkeySimWindows。
DonkeySim挑战赛_第1张图片
可使用游戏杆/键盘手动驾驶、自动驾驶还可使用训练好的神经网络驾驶,运行界面如下:
DonkeySim挑战赛_第2张图片
选择窗口大小,点击“Play!”进入。
DonkeySim挑战赛_第3张图片
点击“Log dir”可设置记录数据目录。
DonkeySim挑战赛_第4张图片
在主界面点击“Generated Track”,进入我们挑战赛的赛道环境。
DonkeySim挑战赛_第5张图片
可以选择右侧的各种驾驶模式。
DonkeySim挑战赛_第6张图片
这是速度、转向和PD参数设置界面,在自动驾驶时,要设置这些参数,取得好成绩。

4.2设置验证

打开Anaconda Prompt。
使用示例模型来验证设置。

conda activate donkey
d:
cd projects\gym-donkeycar\examples\supervised_learning
python evaluate.py --model=models/example_model.h5

启动“DonkeySim”环境。单击“NN Control over Network”按钮。

4.3获取自己的训练数据

现在,你可以尝试根据自己的数据来训练自己的模型。
在模拟器中,按“Exit”进入主菜单。
单击“log dir”按钮并指定一个日志目录以保存数据。例如,你可以选择d:/projects/gym-donkeycar/examples/supervised_learning/log文件夹。
选择Generated Track环境。
单击“Auto Drive w Rec”或“Joystick/Keyboard w Rec”。记录约1万个样本(一圈以上)。查看左下角以查看日志计数。
完成后,单击“Stop”。

4.4训练模型

conda activate donkey
d:
cd projects\gym-donkeycar\examples\supervised_learning
python train.py --inputs=log/*.jpg --model=models/model.h5

模型结构可根据自己需要进行修改。
取消train.py文件的第208行注释,显示模型信息。
修改models.py文件(可设置学习率):
在第7行增加:

from tensorflow import keras

第57行修改为:

model.compile(optimizer=keras.optimizers.Adam(lr=0.0001), loss='mse', metrics=['acc'])

4.5评估模型

conda activate donkey
d:
cd projects\gym-donkeycar\examples\supervised_learning
python evaluate.py --model=models/model.h5

启动模拟器。选择Generated Track环境。单击“NN Control over Network”。

5.0 DonkeySim挑战赛

5.1 DonkeySim挑战赛类别

参加DonkeySim挑战赛的车必须连续不间断跑3圈以上,小车不能压到草坪,不能撞到障碍物,挑战赛共分为三大类:

  • 游戏杆/键盘驾驶(Joystick/Keyboard)
  • 自动驾驶(Auto Drive)
  • 神经网络驾驶(NN Control over Network)

5.2 DonkeySim参赛者提交文件

参加DonkeySim挑战赛的选手,参赛作品必须提交以下文件、数据和视频。

5.2.1选手与作品简介

  • 年龄和性别要真实(便于以后进一步的赛果分类),其他介绍可自由发挥;
  • 参赛者首先应根据已公开(如该类别没有人提交或提交数少于10个)的其他参赛者提交的文件自行进行测试对比,成绩在前十名之内的即可提交,否则请不要提交。

5.2.2数据文件

  • 自行测试成绩以文本文件方式提交;
  • 数据要真实,不得人为编辑修改;
  • 游戏杆/键盘驾驶参赛者提交压缩的原始数据记录(log)文件;
  • 自动驾驶参赛者提交压缩的原始数据记录(log)文件和速度/转向/PD参数截图;
  • 神经网络驾驶参赛者提交文件:
  • 压缩的原始训练数据记录(log)文件
  • D:\projects\gym-donkeycar\examples\supervised_learning目录下的conf.py和models.py文件
  • D:\projects\gym-donkeycar\examples\supervised_learning\models目录下的model.h5和model.h5loss.png文件

5.2.3视频文件

  • 游戏杆/键盘驾驶与自动驾驶参赛者提交原始数据记录(log)文件转成的.mp4格式文件,转换方法如下:
  • 首先将DonkeySim内要转换为视频的记录数据(log),复制到D:\mycar\logs文件夹下,并运行下列命令:
conda activate donkey
d:
cd mycar
donkey makemovie --tub=D:\mycar\logs\log --out=log_movie.mp4
  • 输出文件名为log_movie,mp4
  • 神经网络驾驶参赛者视频文件的提交是可选的,也必须是.mp4格式的视频文件,请自行用合适的办法解决(参赛者如有好的方法,请共享出来,让大家享用)。

5.3 DonkeySim挑战赛评比方式

DonkeySim挑战赛公开参赛者提交的所有文件,采用自测与公示的方式进行评比,比赛成绩及时更新。比赛规则根据实施情况,听取大家的意见,不定时的更新,所有的原始数据尽量可靠的保存。

DonkeySim挑战赛群

QQ:913557234

你可能感兴趣的:(DonkeySim,DonkeyCar,挑战赛,AI,神经网络)