# Imitation-Learning-Dagger-Torcs **Repository Path**: devilmaycry812839668/Imitation-Learning-Dagger-Torcs ## Basic Information - **Project Name**: Imitation-Learning-Dagger-Torcs - **Description**: A Simple Example for Imitation Learning with Dataset Aggregation (DAGGER) on Torcs Env,强化学习中的模仿学习算法DAGGER,原地址:https://github.com/zsdonghao/Imitation-Learning-Dagger-Torcs - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.cnblogs.com/devilmaycry812839668/p/15995739.html - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-09-18 - **Last Updated**: 2025-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: 不再维护的项目 ## README ## Imitation Learning with Dataset Aggregation (DAGGER) on Torcs Env This repository implements a simple algorithm for imitation learning: [DAGGER](https://www.cs.cmu.edu/~sross1/publications/Ross-AIStats11-NoRegret.pdf). In this example, the agent only learns to control the steer [-1, 1], the speed is computed automatically in `gym_torcs.TorcsEnv`. ## Requirements 1. Ubuntu (I only test on this) 2. Python 3 3. TensorLayer and TensorFlow 4. [Gym-Torcs](https://github.com/ugo-nama-kun/gym_torcs) ## Setting Up It is a little bit boring to set up the environment, but any incorrect configurations will lead to FAILURE. After installing [Gym-Torcs](https://github.com/ugo-nama-kun/gym_torcs), please follow the instructions to confirm everything work well: - Open a terminal: - Run `sudo torcs -vision` to start a game - `Race --> Practice --> Configure Race`: set the driver to `scr_server 1` instead of `player` - Open Torcs server by selecting `Race --> Practice --> New Race`: This should result that Torcs keeps a blue screen with several text information. - Open another terminal: - Run `python snakeoil3_gym.py` on another terminal, it will shows how the fake AI control the car. - Press F2 to see the driver view. - Set image size to 64x64x3: - The model is trained on 64x64 RGB observation. - Run `sudo torcs -vision` to start a game - `Options --> Display --> select 64x64 --> Apply` ## Usage Make sure everything above work well and then run: - `python dagger.py` It will start a Torcs server at the beginning of every episode, and terminate the server when the car crashs or the speed is too low. Note that, the self-contained `gym_torcs.py` is modified from [Gym-Torcs](https://github.com/ugo-nama-kun/gym_torcs), you can try different settings (like default speed, terminated speed) by modifying it. ## Results After Episode 1, the car crashes after 315 steps. ![](http://i.imgur.com/YfqFXQZ.gif) After Episode 3, the car does not crash anymore !!! ![](http://i.imgur.com/doz8U0z.gif) The number of steps and episodes might vary depending on the parameters initialization. ENJOY !