merantix / imitation-learning

Autonomous driving: Tensorflow implementation of the paper "End-to-end Driving via Conditional Imitation Learning"
https://medium.com/merantix/journey-from-academic-paper-to-industry-usage-cf57fe598f31
MIT License
89 stars 21 forks source link

Weight hyperparameters #16

Open zxbnjust opened 5 years ago

zxbnjust commented 5 years ago

"We take different weight hyperparameters for the outputs (steer, gas, brake, speed), since the hyperparameters suggested in the paper did not work for us." Do you mean the suggested hyperparameters performed bad for your code? thanks!

markus-hinsche commented 5 years ago

Yes, maybe due to a slightly different implementation, the parameters outlined in the paper do not make our car drive well. If I remember the steering wasn't learned well which leads to crashes.

zxbnjust commented 5 years ago

Thank you!

zxbnjust commented 5 years ago

I have two new issues below. 1.You didn't implement lateral augmentation in your code,right?By lateral augmentation,I mean 3 cameras transformation.If yes,is it done in the given data (24GB) ? 2."The branches for the controller follow the order of the training data."Can you explain it more clearly? If " 2 is do not care, 3 for turn left, 4 for turn right, 5 for go straight" is the order of training data ,will the first branch will play "do not care" and the second branch will play "turn left" etc?

markus-hinsche commented 5 years ago

1.You didn't implement lateral augmentation in your code,right?By lateral augmentation,I mean 3 cameras transformation.If yes,is it done in the given data (24GB) ?

We didn't implement this augmentation but only took the training data in https://github.com/carla-simulator/imitation-learning. The paper describes how they did the lateral augmentation: http://vladlen.info/papers/conditional-imitation.pdf

2."The branches for the controller follow the order of the training data."Can you explain it more clearly? If " 2 is do not care, 3 for turn left, 4 for turn right, 5 for go straight" is the order of training data ,will the first branch will play "do not care" and the second branch will play "turn left" etc?

https://github.com/merantix/imitation-learning/blob/master/imitation/models/conditional_il_model.py#L43-L44 shows you how we access the training labels for the different branches. It is a little hard to describe with words (at least for me ;) ), I think it is best to read the code to understand what is going on