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
Keras implementation of PersonLab for Multi-Person Pose Estimation and Instance Segmentation.

PersonLab This is a Keras implementation of PersonLab for Multi-Person Pose Estimation and Instance Segmentation. The model predicts heatmaps and vari

OCTI 160 Dec 21, 2022
U-2-Net: U Square Net - Modified for paired image training of style transfer

U2-Net: U Square Net Modified for paired image training of style transfer This is an unofficial repo making use of the code which was made available b

Doron Adler 43 Oct 03, 2022
a grammar based feedback fuzzer

Nautilus NOTE: THIS IS AN OUTDATE REPOSITORY, THE CURRENT RELEASE IS AVAILABLE HERE. THIS REPO ONLY SERVES AS A REFERENCE FOR THE PAPER Nautilus is a

Chair for Sys­tems Se­cu­ri­ty 158 Dec 28, 2022
Autonomous Driving on Curvy Roads without Reliance on Frenet Frame: A Cartesian-based Trajectory Planning Method

C++/ROS Source Codes for "Autonomous Driving on Curvy Roads without Reliance on Frenet Frame: A Cartesian-based Trajectory Planning Method" published in IEEE Trans. Intelligent Transportation Systems

Bai Li 88 Dec 23, 2022
Source code for CAST - Crisis Domain Adaptation Using Sequence-to-sequence Transformers (Accepted to ISCRAM 2021, CorePaper).

Source code for CAST: Crisis Domain Adaptation UsingSequence-to-sequenceTransformers (Paper, BibTeX, Accepted to ISCRAM 2021, CorePaper) Quick start D

Congcong Wang 0 Jul 14, 2021
Spatial Action Maps for Mobile Manipulation (RSS 2020)

spatial-action-maps Update: Please see our new spatial-intention-maps repository, which extends this work to multi-agent settings. It contains many ne

Jimmy Wu 27 Nov 30, 2022
Code for the CIKM 2019 paper "DSANet: Dual Self-Attention Network for Multivariate Time Series Forecasting".

Dual Self-Attention Network for Multivariate Time Series Forecasting 20.10.26 Update: Due to the difficulty of installation and code maintenance cause

Kyon Huang 223 Dec 16, 2022
Object detection and instance segmentation toolkit based on PaddlePaddle.

Object detection and instance segmentation toolkit based on PaddlePaddle.

9.3k Jan 02, 2023
Understanding Convolutional Neural Networks from Theoretical Perspective via Volterra Convolution

nnvolterra Run Code Compile first: make compile Run all codes: make all Test xconv: make npxconv_test MNIST dataset needs to be downloaded, converted

1 May 24, 2022
Tensorflow implementation of Character-Aware Neural Language Models.

Character-Aware Neural Language Models Tensorflow implementation of Character-Aware Neural Language Models. The original code of author can be found h

Taehoon Kim 751 Dec 26, 2022
Code for the paper "Relation of the Relations: A New Formalization of the Relation Extraction Problem"

This repo contains the code for the EMNLP 2020 paper "Relation of the Relations: A New Paradigm of the Relation Extraction Problem" (Jin et al., 2020)

YYY 27 Oct 26, 2022
Harmonious Textual Layout Generation over Natural Images via Deep Aesthetics Learning

Harmonious Textual Layout Generation over Natural Images via Deep Aesthetics Learning Code for the paper Harmonious Textual Layout Generation over Nat

7 Aug 09, 2022
BT-Unet: A-Self-supervised-learning-framework-for-biomedical-image-segmentation-using-Barlow-Twins

BT-Unet: A-Self-supervised-learning-framework-for-biomedical-image-segmentation-using-Barlow-Twins Deep learning has brought most profound contributio

Narinder Singh Punn 12 Dec 04, 2022
RobustART: Benchmarking Robustness on Architecture Design and Training Techniques

The first comprehensive Robustness investigation benchmark on large-scale dataset ImageNet regarding ARchitecture design and Training techniques towards diverse noises.

132 Dec 23, 2022
The official implementation of paper "Finding the Task-Optimal Low-Bit Sub-Distribution in Deep Neural Networks" (IJCV under review).

DGMS This is the code of the paper "Finding the Task-Optimal Low-Bit Sub-Distribution in Deep Neural Networks". Installation Our code works with Pytho

Runpei Dong 3 Aug 28, 2022
Paper: De-rendering Stylized Texts

Paper: De-rendering Stylized Texts Wataru Shimoda1, Daichi Haraguchi2, Seiichi Uchida2, Kota Yamaguchi1 1CyberAgent.Inc, 2 Kyushu University Accepted

CyberAgent AI Lab 55 Dec 18, 2022
the code for our CVPR 2021 paper Bilateral Grid Learning for Stereo Matching Network [BGNet]

BGNet This repository contains the code for our CVPR 2021 paper Bilateral Grid Learning for Stereo Matching Network [BGNet] Environment Python 3.6.* C

3DCV developer 87 Nov 29, 2022
DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

DeepSpeed+Megatron trained the world's most powerful language model: MT-530B DeepSpeed is hiring, come join us! DeepSpeed is a deep learning optimizat

Microsoft 8.4k Dec 28, 2022
Pytorch implementation of Straight Sampling Network For Point Cloud Learning (ICIP2021).

Pytorch code for SS-Net This is a pytorch implementation of Straight Sampling Network For Point Cloud Learning (ICIP2021). Environment Code is tested

Sun Ran 1 May 18, 2022
The implementation for the SportsCap (IJCV 2021)

SportsCap: Monocular 3D Human Motion Capture and Fine-grained Understanding in Challenging Sports Videos ProjectPage | Paper | Video | Dataset (Part01

Chen Xin 79 Dec 16, 2022