This repo will have various deep learning network implementations and data loaders. The networks will cover a handful of models for image classification, image segmentation, and generative networks. I use PyTorch for networks/training and am logging metrics using Weights and Biases.
- Classification:
- Imagenette - For testing networks and training at home on my old machine, this is great to play around with. It's a small subset of Imagenet (only 10 classes) and has full resolution images.
- Classification:
- AlexNet (Krizhevsky et al., 2012)
- VGG (Simonyan & Zisserman, 2015)
- ResNet (He et al., 2015)
- Segmentation:
- Custom-Pytorch-Dataset_Imagenette.ipynb - Notebook walks through implementing a custom PyTorch dataset with the Imagenette dataset.
- Recommended to use a virtual environment, such as
venv
,virtualenv
orconda
git clone https://github.com/khajash/dl-networks.git
cd dl-networks
python -m venv .env
source .env/bin/activate
pip install -e .
- To use Imagenette dataset, dowload from repo here.
- Create a config file for your network of choice in
dlnets/models/configs
- The
model
argument in the command line is used as the wandb group and also selects the model class to initialize. Examples include:ALEXNET
,VGG11
,RESNET_SMALL
,RESNET18
. Use the config file to choose the network parameters, changing the value in the model name (e.g. RESNET18, VGG11) does not currently change the network parameters.
cd dlnets/train
python train_classification.py --datadir path/to/imagenette2 --model VGG11 --yaml ../models/configs/config-vgg-small.yaml