Summary

I was able to get the ENET lane detection algorithm up and running, which is built upon more updated libraries than CondLaneNet. It was so much easier than the CondLaneNet repo and I regret not switching earlier. I suppose it was a good lesson in how painful version issues can be. I had to make a few changes within the code to update it from tensorflow v1.X to v2.X.

<aside> 💡 In hindsight I didn’t need to do this, I could have just created my conda venv with an older version of of python. Hindsight is 20/20.

</aside>

I created my conda venv with python 3.11, while the code was written at the time of python 3.6. At that time, Tensorflow v1.X was out. Now, Python 3.11 is only compatible with Tensorflow 2.X and up. So, I had to update the code to reflect this. The only thing this really impacted was the Tensorboard API, so I learned about how to create tf.summary using tensorflow 2. Mainly I just had to change some np array shapes and update some function names.

Again, not really robotics, but certainly a tool I will be interacting with more going forwards as I delve deeper into ML/AI, so that was interesting.

Also pretty cool to see the algorithm more accurately detecting lanes with each epoch. See the picture below, which I believe was captured at epoch 7.

Feels so good to finally get something working after a week of banging my head against a wall.

IMG_7119.jpg