A multi-functional library for full-stack Deep Learning. Simplifies Model Building, API development, and Model Deployment.

Overview

chitra

CodeFactor Maintainability Rating Reliability Rating Security Rating Coverage GitHub issues Documentation Status Discord

What is chitra?

chitra (चित्र) is a multi-functional library for full-stack Deep Learning. It simplifies Model Building, API development, and Model Deployment.

Components

arch

Load Image from Internet url, filepath or numpy array and plot Bounding Boxes on the images easily. Model Training and Explainable AI. Easily create UI for Machine Learning models or Rest API backend that can be deployed for serving ML Models in Production.

📌 Highlights:

🚘 Implementation Roadmap

  • One click deployment to serverless platform.

If you have more use case please raise an issue/PR with the feature you want. If you want to contribute, feel free to raise a PR. It doesn't need to be perfect. We will help you get there.

📀 Installation

Downloads Downloads GitHub License

Using pip (recommended)

  1. Minimum installation pip install -U chitra

  2. Full Installation pip install -U 'chitra[all]'

  3. Install for Training pip install -U 'chitra[nn]'

  4. Install for Serving pip install -U 'chitra[serve]'

From source

pip install git+https://github.com/aniketmaurya/[email protected]

Or,

git clone https://github.com/aniketmaurya/chitra.git
cd chitra
pip install .

🧑‍💻 Usage

Loading data for image classification

Chitra dataloader and datagenerator modules for loading data. dataloader is a minimal dataloader that returns tf.data.Dataset object. datagenerator provides flexibility to users on how they want to load and manipulate the data.

import numpy as np
import chitra
from chitra.dataloader import Clf
import matplotlib.pyplot as plt


clf_dl = Clf()
data = clf_dl.from_folder(cat_dog_path, target_shape=(224, 224))
clf_dl.show_batch(8, figsize=(8, 8))

Show Batch

Image datagenerator

Dataset class provides the flexibility to load image dataset by updating components of the class.

Components of Dataset class are:

  • image file generator
  • resizer
  • label generator
  • image loader

These components can be updated with custom function by the user according to their dataset structure. For example the Tiny Imagenet dataset is organized as-

train_folder/
.....folder1/
    .....file.txt
    .....folder2/
           .....image1.jpg
           .....image2.jpg
                     .
                     .
                     .
           ......imageN.jpg

The inbuilt file generator search for images on the folder1, now we can just update the image file generator and rest of the functionality will remain same.

Dataset also support progressive resizing of images.

Updating component

from chitra.datagenerator import Dataset

ds = Dataset(data_path)
# it will load the folders and NOT images
ds.filenames[:3]
Output
No item present in the image size list

['/Users/aniket/Pictures/data/tiny-imagenet-200/train/n02795169/n02795169_boxes.txt',
 '/Users/aniket/Pictures/data/tiny-imagenet-200/train/n02795169/images',
 '/Users/aniket/Pictures/data/tiny-imagenet-200/train/n02769748/images']
def load_files(path):
    return glob(f'{path}/*/images/*')


def get_label(path):
    return path.split('/')[-3]


ds.update_component('get_filenames', load_files)
ds.filenames[:3]
Output
get_filenames updated with <function load_files at 0x7fad6916d0e0>
No item present in the image size list

['/Users/aniket/Pictures/data/tiny-imagenet-200/train/n02795169/images/n02795169_369.JPEG',
 '/Users/aniket/Pictures/data/tiny-imagenet-200/train/n02795169/images/n02795169_386.JPEG',
 '/Users/aniket/Pictures/data/tiny-imagenet-200/train/n02795169/images/n02795169_105.JPEG']

Progressive resizing

It is the technique to sequentially resize all the images while training the CNNs on smaller to bigger image sizes. Progressive Resizing is described briefly in his terrific fastai course, “Practical Deep Learning for Coders”. A great way to use this technique is to train a model with smaller image size say 64x64, then use the weights of this model to train another model on images of size 128x128 and so on. Each larger-scale model incorporates the previous smaller-scale model layers and weights in its architecture. ~KDnuggets

image_sz_list = [(28, 28), (32, 32), (64, 64)]

ds = Dataset(data_path, image_size=image_sz_list)
ds.update_component('get_filenames', load_files)
ds.update_component('get_label', get_label)

# first call to generator
for img, label in ds.generator():
    print('first call to generator:', img.shape)
    break

# seconds call to generator
for img, label in ds.generator():
    print('seconds call to generator:', img.shape)
    break

# third call to generator
for img, label in ds.generator():
    print('third call to generator:', img.shape)
    break
Output
get_filenames updated with <function load_files at 0x7fad6916d0e0>
get_label updated with <function get_label at 0x7fad6916d8c0>

first call to generator: (28, 28, 3)
seconds call to generator: (32, 32, 3)
third call to generator: (64, 64, 3)

tf.data support

Creating a tf.data dataloader was never as easy as this one liner. It converts the Python generator into tf.data.Dataset for a faster data loading, prefetching, caching and everything provided by tf.data.

image_sz_list = [(28, 28), (32, 32), (64, 64)]

ds = Dataset(data_path, image_size=image_sz_list)
ds.update_component('get_filenames', load_files)
ds.update_component('get_label', get_label)

dl = ds.get_tf_dataset()

for e in dl.take(1):
    print(e[0].shape)

for e in dl.take(1):
    print(e[0].shape)

for e in dl.take(1):
    print(e[0].shape)
Output
get_filenames updated with <function load_files at 0x7fad6916d0e0>
get_label updated with <detn get_label at 0x7fad6916d8c0>
(28, 28, 3)
(32, 32, 3)
(64, 64, 3)

Trainer

The Trainer class inherits from tf.keras.Model, it contains everything that is required for training. It exposes trainer.cyclic_fit method which trains the model using Cyclic Learning rate discovered by Leslie Smith.

from chitra.trainer import Trainer, create_cnn
from chitra.datagenerator import Dataset


ds = Dataset(cat_dog_path, image_size=(224, 224))
model = create_cnn('mobilenetv2', num_classes=2, name='Cat_Dog_Model')
trainer = Trainer(ds, model)
# trainer.summary()
trainer.compile2(batch_size=8,
    optimizer=tf.keras.optimizers.SGD(1e-3, momentum=0.9, nesterov=True),
    lr_range=(1e-6, 1e-3),
    loss='binary_crossentropy',
    metrics=['binary_accuracy'])

trainer.cyclic_fit(epochs=5,
    batch_size=8,
    lr_range=(0.00001, 0.0001),
)
Training Loop... cyclic learning rate already set!
Epoch 1/5
1/1 [==============================] - 0s 14ms/step - loss: 6.4702 - binary_accuracy: 0.2500
Epoch 2/5
Returning the last set size which is: (224, 224)
1/1 [==============================] - 0s 965us/step - loss: 5.9033 - binary_accuracy: 0.5000
Epoch 3/5
Returning the last set size which is: (224, 224)
1/1 [==============================] - 0s 977us/step - loss: 5.9233 - binary_accuracy: 0.5000
Epoch 4/5
Returning the last set size which is: (224, 224)
1/1 [==============================] - 0s 979us/step - loss: 2.1408 - binary_accuracy: 0.7500
Epoch 5/5
Returning the last set size which is: (224, 224)
1/1 [==============================] - 0s 982us/step - loss: 1.9062 - binary_accuracy: 0.8750

<tensorflow.python.keras.callbacks.History at 0x7f8b1c3f2410>

Model Interpretability

It is important to understand what is going inside the model. Techniques like GradCam and Saliency Maps can visualize what the Network is learning. trainer module has InterpretModel class which creates GradCam and GradCam++ visualization with almost no additional code.

from chitra.trainer import InterpretModel

trainer = Trainer(ds, create_cnn('mobilenetv2', num_classes=1000, keras_applications=False))
model_interpret = InterpretModel(True, trainer)

image = ds[1][0].numpy().astype('uint8')
image = Image.fromarray(image)
model_interpret(image)
print(IMAGENET_LABELS[285])
Returning the last set size which is: (224, 224)
index: 282
Egyptian Mau

png

🎨 Data Visualization

Image annotation

Bounding Box creation is based on top of imgaug library.

from chitra.image import Chitra
import matplotlib.pyplot as plt

bbox = [70, 25, 190, 210]
label = 'Dog'

image = Chitra(image_path, bboxes=bbox, labels=label)
plt.imshow(image.draw_boxes())

png

See Play with Images for detailed example!

🚀 Model Serving (Framework Agnostic)

Chitra can Create Rest API or Interactive UI app for Any Learning Model - ML, DL, Image Classification, NLP, Tensorflow, PyTorch or SKLearn. It provides chitra.serve.GradioApp for building Interactive UI app for ML/DL models and chitra.serve.API for building Rest API endpoint.

from chitra.serve import create_api
from chitra.trainer import create_cnn

model = create_cnn('mobilenetv2', num_classes=2)
create_api(model, run=True, api_type='image-classification')
API Docs Preview

Preview Model Server

See Example Section for detailed explanation!

🛠 Utility

Limit GPU memory or enable dynamic GPU memory growth for Tensorflow.

from chitra.utility.tf_utils import limit_gpu, gpu_dynamic_mem_growth

# limit the amount of GPU required for your training
limit_gpu(gpu_id=0, memory_limit=1024 * 2)
No GPU:0 found in your system!
gpu_dynamic_mem_growth()
No GPU found on the machine!

🤗 Contribute

Contributions of any kind are welcome. Please check the Contributing Guidelines before contributing.

Code Of Conduct

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Read full Contributor Covenant Code of Conduct

Acknowledgement

chitra is built with help of awesome libraries like Tensorflow 2.x, imgaug, FastAPI and Gradio.

Comments
  • fix `Unknown` train step

    fix `Unknown` train step

    Changes

    Fixes (Fixed yielding rate in the generator #129)

    Type of change

    • added while loop in generator.
    • added training steps in model training
    Before-

    model training shoes unknown steps in 1st epoch itself.

    Screenshot (45)



    After-

    this problem is solved simultaneously with this issue fixection. Screenshot (47)

    opened by Adk2001tech 6
  • Fixed yielding rate in the generator

    Fixed yielding rate in the generator

    Problem

    There is a limited data yield in the generator which stops data iteration (hence no data will now yield by generator) in 1 complete cycle. Limiting developer to reassess the same data twice in a loop.

    Solution and Alternatives

    Making the generator yields inexhaustible data and simultaneously adding training steps in model training.

    opened by Adk2001tech 6
  • Issue (#129)fixed

    Issue (#129)fixed

    Changes

    Fixes (Fixed yielding rate in the generator #129)

    Type of change

    • added while loop in generator.
    • added training steps in model training
    Before-

    model training shoes unknown steps in 1st epoch itself.

    Screenshot (45)



    After-

    this problem is solved simultaneously with this issue fixection. Screenshot (47)

    opened by Adk2001tech 5
  • Trim down source distribution file size

    Trim down source distribution file size

    At present the gzipped source distribution is about 5 MB (for v0.2.0). This seems a bit high, given the content of the source code. Mostly the *.tar.gz file is bloated with folders like tests, docs, examples that take up most of the space. From a user's perspective, none of these folders are part of the source-code.

    Although opinionated, for instance, documentation lives on the docs site; and making it part of the source code will only make the source code fatten up.

    docs: this folder alone is almost 5 MB in size.

    image

    Changes

    This PR updates the MANIFEST.in file to drop some of these from PyPI source:

    • exclusively non-core-source code files
    • folders like tests, docs, examples take up the most of space
    • config-files that typically start with .<something>.yml, etc.

    Fixes # (issue)

    Type of change

    • [x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

      • [x] This will trim-down the source-package size
    • [ ] This change requires a documentation update

      I am not sure about it; perhaps just a release note about this change would suffice.

    Checklist

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation NA
    • [x] My changes generate no new warnings
    opened by sugatoray 4
  • Refactor CI

    Refactor CI

    Changes

    Fixes # (issue)

    Type of change

    • [x] Documentation Update
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    documentation test 
    opened by aniketmaurya 4
  • Integrate AWS Chalice

    Integrate AWS Chalice

    Changes

    Fixes #106

    Type of change

    • [ ] Documentation Update
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [x] This change requires a documentation update

    Checklist

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my own code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [ ] My changes generate no new warnings
    documentation good first issue test serve 
    opened by aniketmaurya 4
  • deepsource auto fixes 🤖

    deepsource auto fixes 🤖

    Changes

    Fixes code quality

    Type of change

    • [ ] Documentation Update
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    opened by aniketmaurya 4
  • quality/reduce code smell ✨

    quality/reduce code smell ✨

    Changes

    Reduce code smell across modules

    Type of change

    • [ ] Documentation Update
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Checklist

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    enhancement 
    opened by aniketmaurya 4
  • Ideas to promote the project

    Ideas to promote the project

    These are some ideas I have to promote this project.

    We can share ideas here and grow the community around this project.

    Sharing in the following platforms

    https://news.ycombinator.com/show:

    https://www.reddit.com/

    https://www.producthunt.com/

    https://dev.to

    https://twitter.com/home

    opened by navendu-pottekkat 4
  • Adding Support for Loading Pascal VOC dataset format to tf.data

    Adding Support for Loading Pascal VOC dataset format to tf.data

    Add a new Python module for loading Pascal VOC data format to tf.data

    The function should receive an annotation and image folder path and will return the tf.Dataset object.

    enhancement help wanted good first issue hacktoberfest no-issue-activity 
    opened by aniketmaurya 4
  • Video

    Video

    First off, Apologies for opening an issue for this. I'm currently not active on Social Media but wanted a way to share this.

    Second, Thanks so much for this amazing open source library. This is amazing work! Kudos to @aniketmaurya and the contributors.

    Here's my small video contribution to spread the word - https://youtu.be/0RJfKJEXUDg

    Once again, I'm sorry for raising an issue for this. please close this issue after you read the message. Thanks!

    opened by amrrs 3
Releases(0.2.1.dev0)
  • 0.2.1.dev0(Jan 9, 2022)

    What's Changed

    • Refactor CI by @aniketmaurya in https://github.com/gradsflow/chitra/pull/142
    • fix imgaug dependencies by @aniketmaurya in https://github.com/gradsflow/chitra/pull/143
    • Update docs by @aniketmaurya in https://github.com/gradsflow/chitra/pull/144
    • fix docs by @aniketmaurya in https://github.com/gradsflow/chitra/pull/145
    • Format code with black by @deepsource-autofix in https://github.com/gradsflow/chitra/pull/146
    • add batchify by @aniketmaurya in https://github.com/gradsflow/chitra/pull/147
    • Pip compile docs/requirements.txt by @aniketmaurya in https://github.com/gradsflow/chitra/pull/149
    • [Snyk] Security upgrade mistune from 0.8.4 to 2.0.1 by @aniketmaurya in https://github.com/gradsflow/chitra/pull/150
    • add default extensions by @aniketmaurya in https://github.com/gradsflow/chitra/pull/153
    • fixes by @aniketmaurya in https://github.com/gradsflow/chitra/pull/154
    • revert fixes by @aniketmaurya in https://github.com/gradsflow/chitra/pull/155

    New Contributors

    • @deepsource-autofix made their first contribution in https://github.com/gradsflow/chitra/pull/146

    Full Changelog: https://github.com/gradsflow/chitra/compare/v0.2.0...0.2.1.dev0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Nov 26, 2021)

    What's Changed

    • Config file for pyup.io by @pyup-bot in https://github.com/aniketmaurya/chitra/pull/30
    • [ImgBot] Optimize images by @imgbot in https://github.com/aniketmaurya/chitra/pull/28
    • Create CODE_OF_CONDUCT.md by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/31
    • update serving example by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/32
    • docs: fix image url & python style by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/33
    • Bugfix/datagenerator by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/44
    • update sonar badges by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/45
    • Update docs by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/47
    • [ImgBot] Optimize images by @imgbot in https://github.com/aniketmaurya/chitra/pull/48
    • Update docs by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/49
    • [ImgBot] Optimize images by @imgbot in https://github.com/aniketmaurya/chitra/pull/50
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/51
    • Update CONTRIBUTING.md by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/53
    • update chitra description by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/56
    • update docs with new Version 📖 by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/57
    • Docs/style by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/59
    • add model serving to documentation by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/60
    • add cache image func by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/61
    • setup testing CI by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/62
    • Fix 'Duplicate Code' issue in chitra\dataloader.py by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/64
    • Add pep8speaks by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/65
    • remove codacy by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/66
    • refactor code & test by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/67
    • fix sonar coverage by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/68
    • replace / with internal keyword by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/70
    • quality/reduce code smell ✨ by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/73
    • increase coverage 🚀 by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/74
    • increase coverage 🚀 by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/75
    • deepsource auto fixes 🤖 by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/79
    • visualize confusion matrix by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/81
    • [ImgBot] Optimize images by @imgbot in https://github.com/aniketmaurya/chitra/pull/82
    • update docs by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/83
    • fix hanging test by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/84
    • Migrate to black by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/86
    • resize bounding box with image.resize() by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/87
    • 📝document image-bbox resize by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/88
    • add dataprocess pipeline and class based model serving by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/89
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/90
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/91
    • fix requirement install by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/92
    • refactor API & Docs by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/93
    • docs fixes by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/94
    • Integrate Gradio by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/95
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/96
    • refactor model server by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/97
    • fixes 0.1.0rc0 by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/98
    • fix doc inconsistency by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/100
    • chitra new banner by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/102
    • 🚀 increase coverage by @sukkritsharmaofficial in https://github.com/aniketmaurya/chitra/pull/101
    • Release Prep by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/104
    • remove heavy imports by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/110
    • Add CLI support by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/111
    • fix requirements.txt for mkdocs by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/112
    • auto dockerization of chitra model server by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/114
    • document auto docker builder by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/115
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/109
    • Integrate AWS Chalice by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/116
    • fix pytest fail by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/117
    • remove converter module by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/120
    • lightweight packaging and import by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/121
    • update documentations by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/123
    • 🎉 add arch diagram by @aniketmaurya in https://github.com/aniketmaurya/chitra/pull/127
    • fix Unknown train step by @Adk2001tech in https://github.com/aniketmaurya/chitra/pull/133
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/138
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/139
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/aniketmaurya/chitra/pull/141

    New Contributors

    • @pyup-bot made their first contribution in https://github.com/aniketmaurya/chitra/pull/30
    • @pre-commit-ci made their first contribution in https://github.com/aniketmaurya/chitra/pull/51
    • @sukkritsharmaofficial made their first contribution in https://github.com/aniketmaurya/chitra/pull/101
    • @Adk2001tech made their first contribution in https://github.com/aniketmaurya/chitra/pull/133

    Full Changelog: https://github.com/aniketmaurya/chitra/compare/0.0.22...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.1(Aug 7, 2021)

    chitra CLI can build docker image for any kind of Machine Learning or Deep Learning Model.

    chitra builder create [OPTIONS]
    
    Options:
      --path TEXT  [default: ./]
      --port TEXT
      --tag TEXT
      --help       Show this message and exit.
    
    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Jul 24, 2021)

    🎉 🎉 Chitra now supports Model Serving and Image Data Loading with Bounding Boxes. You can easily create UI app or Rest API for Any Machine Learning or Deep Learning Model (Framework Agnostic).

    Auto Dockerization and Serverless deployment is in roadmap 🚘.

    📚 Get started with the Documentation https://chitra.readthedocs.io/en/latest/

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0b4(Jul 22, 2021)

  • 0.1.0b3(Jul 4, 2021)

  • 0.1.0b1(Jun 24, 2021)

    • cache images to HOME dir (#70)
    • fix sonar coverage #68
    • refactor code & test #67
    • increased test coverage #67
    • Fix 'Duplicate Code' issue in chitra\dataloader.py #64

    pip install chitra==0.1.0b1

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0a1(Jun 23, 2021)

  • 0.1.0a0(Jun 20, 2021)

Owner
Aniket Maurya
Creator of Chitra and GradsFlow ✨ | Maintainer PyTorch Lightning Flash | Open Source 💜
Aniket Maurya
The official PyTorch implementation for the paper "sMGC: A Complex-Valued Graph Convolutional Network via Magnetic Laplacian for Directed Graphs".

Magnetic Graph Convolutional Networks About The official PyTorch implementation for the paper sMGC: A Complex-Valued Graph Convolutional Network via M

3 Feb 25, 2022
Establishing Strong Baselines for TripClick Health Retrieval; ECIR 2022

TripClick Baselines with Improved Training Data Welcome 🙌 to the hub-repo of our paper: Establishing Strong Baselines for TripClick Health Retrieval

Sebastian Hofstätter 3 Nov 03, 2022
Multi-Scale Aligned Distillation for Low-Resolution Detection (CVPR2021)

MSAD Multi-Scale Aligned Distillation for Low-Resolution Detection Lu Qi*, Jason Kuen*, Jiuxiang Gu, Zhe Lin, Yi Wang, Yukang Chen, Yanwei Li, Jiaya J

Jia Research Lab 115 Dec 23, 2022
Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion (CVPR 2021)

Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion (CVPR 2021) This repository is for BAAF-Net introduce

90 Dec 29, 2022
Deep Multi-Magnification Network for multi-class tissue segmentation of whole slide images

Deep Multi-Magnification Network This repository provides training and inference codes for Deep Multi-Magnification Network published here. Deep Multi

Computational Pathology 12 Aug 06, 2022
Implementation of PyTorch-based multi-task pre-trained models

mtdp Library containing implementation related to the research paper "Multi-task pre-training of deep neural networks for digital pathology" (Mormont

Romain Mormont 27 Oct 14, 2022
Physics-informed Neural Operator for Learning Partial Differential Equation

PINO Physics-informed Neural Operator for Learning Partial Differential Equation Abstract: Machine learning methods have recently shown promise in sol

107 Jan 02, 2023
TensorFlow implementation of PHM (Parameterization of Hypercomplex Multiplication)

Parameterization of Hypercomplex Multiplications (PHM) This repository contains the TensorFlow implementation of PHM (Parameterization of Hypercomplex

Aston Zhang 9 Oct 26, 2022
A Learning-based Camera Calibration Toolbox

Learning-based Camera Calibration A Learning-based Camera Calibration Toolbox Paper The pdf file can be found here. @misc{zhang2022learningbased,

Eason 14 Dec 21, 2022
minimizer-space de Bruijn graphs (mdBG) for whole genome assembly

rust-mdbg: Minimizer-space de Bruijn graphs (mdBG) for whole-genome assembly rust-mdbg is an ultra-fast minimizer-space de Bruijn graph (mdBG) impleme

Barış Ekim 148 Dec 01, 2022
ONNX Command-Line Toolbox

ONNX Command Line Toolbox Aims to improve your experience of investigating ONNX models. Use it like onnx infershape /path/to/model.onnx. (See the usag

黎明灰烬 (王振华 Zhenhua WANG) 23 Nov 13, 2022
CvT2DistilGPT2 is an encoder-to-decoder model that was developed for chest X-ray report generation.

CvT2DistilGPT2 Improving Chest X-Ray Report Generation by Leveraging Warm-Starting This repository houses the implementation of CvT2DistilGPT2 from [1

The Australian e-Health Research Centre 21 Dec 28, 2022
In this project I played with mlflow, streamlit and fastapi to create a training and prediction app on digits

Fastapi + MLflow + streamlit Setup env. I hope I covered all. pip install -r requirements.txt Start app Go in the root dir and run these Streamlit str

76 Nov 23, 2022
Deep Learning for Computer Vision final project

Deep Learning for Computer Vision final project

grassking100 1 Nov 30, 2021
Build fully-functioning computer vision models with PyTorch

Detecto is a Python package that allows you to build fully-functioning computer vision and object detection models with just 5 lines of code. Inferenc

Alan Bi 576 Dec 29, 2022
State of the Art Neural Networks for Deep Learning

pyradox This python library helps you with implementing various state of the art neural networks in a totally customizable fashion using Tensorflow 2

Ritvik Rastogi 60 May 29, 2022
Optimal Adaptive Allocation using Deep Reinforcement Learning in a Dose-Response Study

Optimal Adaptive Allocation using Deep Reinforcement Learning in a Dose-Response Study Supplementary Materials for Kentaro Matsuura, Junya Honda, Imad

Kentaro Matsuura 4 Nov 01, 2022
This is my codes that can visualize the psnr image in testing videos.

CVPR2018-Baseline-PSNRplot This is my codes that can visualize the psnr image in testing videos. Future Frame Prediction for Anomaly Detection – A New

Wenhao Yang 12 May 29, 2021
THIS IS THE **OLD** PYMC PROJECT. PLEASE USE PYMC3 INSTEAD:

Introduction Version: 2.3.8 Authors: Chris Fonnesbeck Anand Patil David Huard John Salvatier Web site: https://github.com/pymc-devs/pymc Documentation

PyMC 7.2k Jan 07, 2023
A dual benchmarking study of visual forgery and visual forensics techniques

A dual benchmarking study of facial forgery and facial forensics In recent years, visual forgery has reached a level of sophistication that humans can

8 Jul 06, 2022