Traffic Sign Classification Project for Self-Driving Car Nanodegree.
The purpose of this project is to use deep neural networks and convolutional neural networks to classify traffic signs. I built, trained and validated a model so it can classify traffic sign images using the German Traffic Sign Dataset. After the model was trained, I then tried out my model on images of German traffic signs found on the web. More info in the writeup.
Starting to work on this project consists of the following steps:
- Install
miniconda
on your computer - Create a new
conda
environment using this project - Each time you wish to work, activate your
conda
environment - Run the Jupyter notebook and visit http://localhost:8000
Download the latest version of miniconda
that matches your system.
NOTE: There have been reports of issues creating an environment using miniconda v4.3.13
. If it gives you issues try versions 4.3.11
or 4.2.12
from here.
Linux | Mac | Windows | |
---|---|---|---|
64-bit | 64-bit (bash installer) | 64-bit (bash installer) | 64-bit (exe installer) |
32-bit | 32-bit (bash installer) | 32-bit (exe installer) |
Install miniconda on your machine. Detailed instructions:
- Linux: http://conda.pydata.org/docs/install/quick.html#linux-miniconda-install
- Mac: http://conda.pydata.org/docs/install/quick.html#os-x-miniconda-install
- Windows: http://conda.pydata.org/docs/install/quick.html#windows-miniconda-install
Clone the project and download the dataset
git clone https://github.com/gdangelo/CarND-Traffic-Sign-Classifier-Project.git
cd CarND-Traffic-Sign-Classifier-Project
Then download the dataset by following this link. This is a pickled dataset in which the images are already resized to 32x32.
Create a data/ folder at the root of the project and unzip the dataset files inside. You should now have 3 pickle files:
CarND-Traffic-Sign-Classifier-Project/
└── data/
├── test.p
├── train.p
└── valid.p
Setup your carnd
environment.
If you are on Windows, rename
meta_windows_patch.yml
to
meta.yml
Create carnd. Running this command will create a new conda
environment that is provisioned with all libraries you need to be successful in this program.
conda env create -f environment.yml
Note: Some Mac users have reported issues installing TensorFlow using this method. The cause is unknown but seems to be related to pip
. For the time being, we recommend opening environment.yml in a text editor and swapping
- tensorflow==0.12.1
with
- https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.12.1-py3-none-any.whl
Verify that the carnd environment was created in your environments:
conda info --envs
Cleanup downloaded libraries (remove tarballs, zip files, etc):
conda clean -tp
To uninstall the environment:
conda env remove -n carnd
Now that you have created an environment, in order to use it, you will need to activate the environment. This must be done each time you begin a new working session i.e. open a new terminal window.
Activate the carnd
environment:
$ source activate carnd
Depending on shell either:
$ source activate carnd
or
$ activate carnd
Now all of the carnd
libraries are available to you.
Open the code in a Jupyter Notebook:
$ jupyter notebook Traffic_Sign_Classifier.ipynb
That's it. To exit the environment when you have completed your work session, simply close the terminal window.
Contact me anytime for anything about my projects or machine learning in general. I'd be happy to help you 😉
- Twitter: @gdangel0
- Linkedin: Grégory D'Angelo
- Email: [email protected]