- Project Description
- Project Jupyter Notebook
- Command Line Training Application
- Command Line Predict Application
In this project, I developed code for an image classifier built with PyTorch for 102 flower categories, then convert it into a command line application.
The project is combined with 3 parts:
- Load and preprocess the image dataset;
- Train the image classifier on your dataset;
- Use the trained classifier to predict image content;
The dataset used in this project can be downloaded here
To run the project, please download the dataset first and unzip it in the project folder. Then rename the dataset folder to flowers
The main code of this project is in the file Image Classifier Project.ipynb
The command line training application code is in the file train.py
Basic usage: python train.py data_directory
Prints out training loss, validation loss, and validation accuracy as the network trains
Options:
-
Set directory to save checkpoints:
python train.py data_dir --save_dir save_directory
-
Choose architecture:
python train.py data_dir --arch "vgg13"
-
Set hyperparameters:
python train.py data_dir --learning_rate 0.01 --hidden_units 512 --epochs 20
-
Use GPU for training:
python train.py data_dir --gpu
The command line predict application code is in the file predict.py
Basic usage: python predict.py /path/to/image checkpoint
Options:
- Return top K most likely classes:
python predict.py input checkpoint --top_k 3
- Use a mapping of categories to real names:
python predict.py input checkpoint --category_names cat_to_name.json
- Use GPU for inference:
python predict.py input checkpoint --gpu