kung-fu-panda-automotive / carla-driver

The CarND Capstone Project
8 stars 8 forks source link

TL classifier (fixes #8) #33

Closed asimonov closed 7 years ago

asimonov commented 7 years ago

Initial version of Traffic Lights Classifier.

Possible future issues:

Todo:

ljanyst commented 7 years ago

The repo should not contain any binary files. If I added mine, we would need around a 1.5GB. We'll have them downloaded from s3 for the production system.

ljanyst commented 7 years ago

Don't worry about the numpy issues. I will take care of them.

ljanyst commented 7 years ago

OK, I take my comment about the binary files back. How did you make them so small?

asimonov commented 7 years ago

The binary model files are small because this is a small model. Two convolutional layers 5x5, one with 32 channels, another 64. Plus a small fully connected layer. Not that many weights to save to a file after training.

ljanyst commented 7 years ago

Alexey, I just have this one comment. Otherwise it's good for me! Thanks for all the good work!

ljanyst commented 7 years ago

Also, on a second look, can you make it such that it accepts the tensorflow session in the constructor. I will do that too. This way we can just share one.

ljanyst commented 7 years ago

OK, in the end I had more than one, but it's about session management, so that's a question that you yourself asked.

asimonov commented 7 years ago

Lukasz,

Do you think it will work?

I think session only has one graph. At least from what I remember from CS20si course. You suggest we create both your model and my model ops in same session graph and then run relevant ops depending on what we wanna predict? I have not researched this. This is one way to do it, but with 2 sessions:

https://stackoverflow.com/questions/41607144/loading-two-models-from-saver-in-the-same-tensorflow-session https://stackoverflow.com/questions/41607144/loading-two-models-from-saver-in-the-same-tensorflow-session

On 7 Sep 2017, at 21:18, Lukasz Janyst notifications@github.com wrote:

OK, in the end I had more than one, but it's about session management, so that's a question that you yourself asked.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kung-fu-panda-automotive/carla-driver/pull/33#issuecomment-327916137, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOr9gDr66Tne9UlSElLIdWMoRLNuFbIks5sgE-VgaJpZM4PNixq.

ljanyst commented 7 years ago

I don't think there will be a problem running two graphs (well actually one grap with disjoint parts) as long as the names do not collide.

ljanyst commented 7 years ago

Reloading my session all the time will not fly at all. It takes several seconds to load. We cannot afford that. Just make sure you use scopes.

ljanyst commented 7 years ago

Can you try the stuff you posted in the link with two concurrent sessions. Something small: the classifier and something big: your segmentation. And see how well it works?

asimonov commented 7 years ago

That was my original idea but then Lukasz said we should keep it in personal repos


Kind Regards, Alexey Simonov

On 10 Sep 2017, at 18:41, Kostas Oreopoulos notifications@github.com wrote:

@buffos commented on this pull request.

In ros/src/tl_detector/light_classification/tl_classifier_cnn.py:

  • need augmentation
    • move to generator-type inputs
    • use tensorflow Dataset interface
    • use tensorflow Estimator interface?
    • add embeddings visualisation to tensorboard +"""
  • +import os +import math +from datetime import datetime

  • +import numpy as np +import tensorflow as tf +try:

  • only used in train() method. when run on ROS train() should never be called

  • from tqdm import tqdm I think we should include it for our own future reference. In a real project yes, it should be a separate mini project.

On the other hand, we can create more projects in the panda organization and include the training part of the projects there.

what do you think?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.