Traffic Sign Classification Project for Self-Driving Car ND
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Traffic Sign Classification Project for Self-Driving Car Nanodegree.

Udacity - 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:

  1. Install miniconda on your computer
  2. Create a new conda environment using this project
  3. Each time you wish to work, activate your conda environment
  4. 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:

Clone the project and download the dataset

git clone
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:

 └── data/ 
      ├── test.p
      ├── train.p
      └── valid.p

Setup your carnd environment.

If you are on Windows, rename
meta_windows_patch.yml to

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



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:

OS X and Linux

$ source activate carnd


Depending on shell either:

$ source activate carnd


$ 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.

Questions or Feedback

Contact me anytime for anything about my projects or machine learning in general. I'd be happy to help you 😉