This is a Python library for using the latest SOTA techniques to improve the training pipeline of DNNs, making them faster and robust.
This was done for the course CS231n (Spring 2022) at Stanford. Find our poster here: http://cs231n.stanford.edu/reports/2022/pdfs/122p.pdf, and our paper here: http://cs231n.stanford.edu/reports/2022/pdfs/122.pdf
Use the package manager conda to install torch==1.7 torchvision==0.8
Run the following script to install custom PyTorch layers for Approximate Tensor Operations
./setup.sh
Sample Notebook showing how to use the library is attached in ./src/demo.ipynb
Edit ./src/models.py
, and add your model to the model_dict
in get_model
def get_model(model_name, model_params, learning_rate, loader_train, num_channels, device):
model_dict = {
'VGG16' : models.vgg16,
'Resnet18' : models.resnet18,
'Resnet50' : models.resnet50,
}
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
If you use this repository or extend it, please cite us.