All Projects → oke-aditya → pytorch_cnn_trainer

oke-aditya / pytorch_cnn_trainer

Licence: GPL-3.0 license
A Simple but Powerful CNN Trainer For PyTorch

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pytorch cnn trainer

udacity-cvnd-projects
My solutions to the projects assigned for the Udacity Computer Vision Nanodegree
Stars: ✭ 36 (+38.46%)
Mutual labels:  transfer-learning, torchvision
tensorflow object detection helper tool
tensorflow object detection api helper tool ( custom object detection )
Stars: ✭ 30 (+15.38%)
Mutual labels:  transfer-learning
clean-net
Tensorflow source code for "CleanNet: Transfer Learning for Scalable Image Classifier Training with Label Noise" (CVPR 2018)
Stars: ✭ 86 (+230.77%)
Mutual labels:  transfer-learning
Revisiting-Contrastive-SSL
Revisiting Contrastive Methods for Unsupervised Learning of Visual Representations. [NeurIPS 2021]
Stars: ✭ 81 (+211.54%)
Mutual labels:  transfer-learning
DeepFaceRecognition
Face Recognition with Transfer Learning
Stars: ✭ 16 (-38.46%)
Mutual labels:  transfer-learning
TransferSeg
Unseen Object Segmentation in Videos via Transferable Representations, ACCV 2018 (oral)
Stars: ✭ 25 (-3.85%)
Mutual labels:  transfer-learning
Clan
( CVPR2019 Oral ) Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation
Stars: ✭ 248 (+853.85%)
Mutual labels:  transfer-learning
ulm-basenet
Implementation of ULMFit algorithm for text classification via transfer learning
Stars: ✭ 94 (+261.54%)
Mutual labels:  transfer-learning
few shot dialogue generation
Dialogue Knowledge Transfer Networks (DiKTNet)
Stars: ✭ 24 (-7.69%)
Mutual labels:  transfer-learning
cozmo-tensorflow
🤖 Cozmo the Robot recognizes objects with TensorFlow
Stars: ✭ 61 (+134.62%)
Mutual labels:  transfer-learning
nih-chest-xrays
A collection of projects which explore image classification on chest x-ray images (via the NIH dataset)
Stars: ✭ 32 (+23.08%)
Mutual labels:  transfer-learning
pykale
Knowledge-Aware machine LEarning (KALE): accessible machine learning from multiple sources for interdisciplinary research, part of the 🔥PyTorch ecosystem
Stars: ✭ 381 (+1365.38%)
Mutual labels:  transfer-learning
NeuralNetworks
Implementation of a Neural Network that can detect whether a video is in-game or not
Stars: ✭ 64 (+146.15%)
Mutual labels:  transfer-learning
transfertools
Python toolbox for transfer learning.
Stars: ✭ 22 (-15.38%)
Mutual labels:  transfer-learning
image-background-remove-tool
✂️ Automated high-quality background removal framework for an image using neural networks. ✂️
Stars: ✭ 767 (+2850%)
Mutual labels:  transfer-learning
TA3N
[ICCV 2019 Oral] TA3N: https://github.com/cmhungsteve/TA3N (Most updated repo)
Stars: ✭ 45 (+73.08%)
Mutual labels:  transfer-learning
mrnet
Building an ACL tear detector to spot knee injuries from MRIs with PyTorch (MRNet)
Stars: ✭ 98 (+276.92%)
Mutual labels:  transfer-learning
Open-Source-Models
Address book for computer vision models.
Stars: ✭ 30 (+15.38%)
Mutual labels:  transfer-learning
transfer-learning-text-tf
Tensorflow implementation of Semi-supervised Sequence Learning (https://arxiv.org/abs/1511.01432)
Stars: ✭ 82 (+215.38%)
Mutual labels:  transfer-learning
Skin Lesions Classification DCNNs
Transfer Learning with DCNNs (DenseNet, Inception V3, Inception-ResNet V2, VGG16) for skin lesions classification
Stars: ✭ 47 (+80.77%)
Mutual labels:  transfer-learning

PyTorch CNN Trainer

  • Note that this PyPi package is no longer maintained. It will work fine upto this release, but I won't do bug fixes.
  • The entire code and API is migrated to Quickvison, it has similar API and is maintained actively.

Check Formatting Code style: black CI Tests PyPi Release Deploy mkdocs Install Package Downloads Downloads Downloads

Train CNN for your task

A simple engine to fine tune CNNs from torchvision and Pytorch Image models from Ross Wightman.

Example

Why This Package ?

It is very annoying to write training loop and training code for CNN training. Also to support all the training features it takes massive time.

Usually we don't need distributed training and it is very uncomfortable to use argparse and get the job done.

This simplifies the training. It provide you a powerful engine.py which can do lot of training functionalities. Also a dataset.py to load dataset in common scenarios.

Note: - Pytorch Trainer is not a distributed training script.

It will work good for single GPU machine for Google Colab / Kaggle.

But for distributed Training you can use the PyTorch Lightning Trainer (soon).

It will train on multiple GPUs just the way lightning supports (soon).

To install

Install torch and torchvision from PyTorch Run the following in terminal.

pip install -q git+git://github.com/oke-aditya/pytorch_cnn_trainer.git

Or from PyPI now !!

pip install pytorch_cnn_trainer

Docs: -

I have provided some example of how to use this trainer in multiple scenarios. Please check examples folder. Some examples that are provided.

  • Fine Tune Torchvision models using fit().
  • Fine Tune Torchvision models using train_step() and validation_step().
  • Fine Tune Ross Wightman's models.
  • Quantization Aware Training head only.
  • Quantization Aware Training Fully.
  • Mixed Precision Training
  • Training with Stochastic Weighted Average (SWA)
  • LR Finder implementation

Features: -

  • Support PyTorch image models (timm) training and transfer learning.
  • Quantization Aware training example.
  • Early stopping with patience.
  • Support torchvision models trainging and transfer learning.
  • Support torchvision quantized models transfer learning.
  • Support for Mixed Precision Training.
  • L2 Norm Gradient Penalty.
  • LR Finder Implementation.
  • SWA Stochastic weighted Averaging support for training.
  • Add Keras Like fit method.
  • Sanity Check method.

Hope this repo helps people to train models using transfer learning.

If you like it do give * and tell people about it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].