Welcome to jdit documentation!¶
Jdit is a research processing oriented framework based on pytorch. Only care about your ideas. You don’t need to build a long boring code to run a deep learning project to verify your ideas.
You only need to implement you ideas and don’t do anything with training framework, multiply-gpus, checkpoint, process visualization, performance evaluation and so on.
After building and installing jdit package, you can make a new directory for a quick test. Assuming that you get a new directory example. run this code in ipython cmd.(Create a main.py file is also acceptable.)
from jdit.trainer.instances.fashingClassification import start_fashingClassTrainer start_fashingClassTrainer()
Then you will see something like this as following.
===> Build dataset use 8 thread Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-images-idx3-ubyte.gz Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-labels-idx1-ubyte.gz Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-images-idx3-ubyte.gz Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-labels-idx1-ubyte.gz Processing... Done ===> Building model ResNet Total number of parameters: 2776522 ResNet model use CPU apply kaiming weight init ===> Building optimizer ===> Training using `tensorboard --logdir=log` to see learning curves and net structure. training and valid_epoch data, configures info and checkpoint were save in `log` directory. 0%| | 0/10 [00:00<.., ..epoch/s] 0step [00:00, step/s]
- It will search a fashing mnist dataset.
- Then build a resnet18 for classification.
- For training process, you can find learning curves in tensorboard.
- It will create a log directory in example/, which saves training processing data and configures.
Although it is just an example, you still can build your own project easily by using jdit framework. Jdit framework can deal with * Data visualization. (learning curves, images in pilot process) * CPU, GPU or GPUs. (Training your model on specify devices) * Intermediate data storage. (Saving training data into a csv file) * Model checkpoint automatically. * Flexible templates can be used to integrate and custom overrides. So, let’s see what is jdit.