CARLAのための模倣学習トレーニング

carla-imitation-learning

CARLAは、自動運転研究のためのオープンソースシミュレーターです。
この記事では、CARLAのための模倣学習トレーニングについて紹介します。

CARLAにおける自動運転のための模倣学習

以下のリポジトリに、CARLAにおいてドライビングベンチマーク(CoRL-2017ベンチマーク)を実行するためのコードとトレーニング済モデルがあります。

https://github.com/carla-simulator/imitation-learning

このリポジトリからデータセット(24GB)へのリンクがありますが、トレーニング用のコードは含まれていません。

ここでは、以下のリポジトリと上記データセットを組み合わせて、模倣学習のトレーニング環境を構築します。

https://github.com/mvpcom/carlaILTrainer

模倣学習のトレーニング環境の構築

前提条件

  • Ubuntu 16.04以降
  • Docker
  • NVIDIA Docker 2
  • NVIDIA Driver >= 390

carlaILTrainerリポジトリのclone

以下のコマンドで、carlaILTrainerリポジトリをcloneします。

$ cd
$ git clone https://github.com/mvpcom/carlaILTrainer

データセットの準備

ここ(https://github.com/carla-simulator/imitation-learning#dataset)からリンクされているデータセット(24GB)をダウンロードし、以下のコマンドで展開します。

$ cd ~/carlaILTrainer
$ tar xf ~/Downloads/CORL2017ImitationLearningData.tar.gz

なお、エラーが発生するdata_06790.h5は、除外しておきます。

Dockerイメージの作成

carlaILTrainerリポジトリのperfectEnv.ymlを用いて、Dockerイメージを作成します。

Dockerfileの詳細は省略しますが、tensorflow-gpu 1.4.1を動作させるため、nvidia/cuda:8.0-cudnn6-runtime-ubuntu16.04をベースにします。

また、minicondaのインストール後に、以下のコマンドを実行するようにします。

# Dockerfile
/path/to/conda env create -f perfectEnv.yml

以下のコマンドで、Dockerイメージを作成します。

$ docker build -t carla_ilt .

CARLAのための模倣学習トレーニング

Dockerコンテナの起動

以下のコマンドで、Dockerコンテナを起動します。

$ docker run --runtime=nvidia --rm -it -v /home/$USER/carlaILTrainer:/workspace carla_ilt

模倣学習のトレーニング

以下のコマンドで、模倣学習のトレーニングを実行します。

# source activate carlaSimPy2
# python train.py

testディレクトリにトレーニング済モデルが保存されます。

トレーニング済モデルをimitation-learningディレクトリに移動したのち、python run_CIL.pyを実行してみましたが、ここ(https://github.com/mvpcom/carlaILTrainer/issues/6)に書かれているように、エラーが発生します。

まとめ

この記事では、CARLAのための模倣学習トレーニングについて紹介しました。