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
Just Randoms Cats with python

Random-Cat Just Randoms Cats with python.

OriCode 2 Dec 21, 2021
A lightweight python AUTOmatic-arRAY library.

A lightweight python AUTOmatic-arRAY library. Write numeric code that works for: numpy cupy dask autograd jax mars tensorflow pytorch ... and indeed a

Johnnie Gray 62 Dec 27, 2022
SketchEdit: Mask-Free Local Image Manipulation with Partial Sketches

SketchEdit: Mask-Free Local Image Manipulation with Partial Sketches [Paper]  [Project Page]  [Interactive Demo]  [Supplementary Material]        Usag

215 Dec 25, 2022
Code release for DS-NeRF (Depth-supervised Neural Radiance Fields)

Depth-supervised NeRF: Fewer Views and Faster Training for Free Project | Paper | YouTube Pytorch implementation of our method for learning neural rad

524 Jan 08, 2023
A curated list of awesome open source libraries to deploy, monitor, version and scale your machine learning

Awesome production machine learning This repository contains a curated list of awesome open source libraries that will help you deploy, monitor, versi

The Institute for Ethical Machine Learning 12.9k Jan 04, 2023
Code repository for "Stable View Synthesis".

Stable View Synthesis Code repository for "Stable View Synthesis". Setup Install the following Python packages in your Python environment - numpy (1.1

Intelligent Systems Lab Org 195 Dec 24, 2022
code for TCL: Vision-Language Pre-Training with Triple Contrastive Learning, CVPR 2022

Vision-Language Pre-Training with Triple Contrastive Learning, CVPR 2022 News (03/16/2022) upload retrieval checkpoints finetuned on COCO and Flickr T

187 Jan 02, 2023
Pcos-prediction - Predicts the likelihood of Polycystic Ovary Syndrome based on patient attributes and symptoms

PCOS Prediction 🥼 Predicts the likelihood of Polycystic Ovary Syndrome based on

Samantha Van Seters 1 Jan 10, 2022
A clean implementation based on AlphaZero for any game in any framework + tutorial + Othello/Gobang/TicTacToe/Connect4 and more

Alpha Zero General (any game, any framework!) A simplified, highly flexible, commented and (hopefully) easy to understand implementation of self-play

Surag Nair 3.1k Jan 05, 2023
Ağ tarayıcı.Gönderdiği paketler ile ağa bağlı olan cihazların IP adreslerini gösterir.

NetScanner.py Ağ tarayıcı.Gönderdiği paketler ile ağa bağlı olan cihazların IP adreslerini gösterir. Linux'da Kullanımı: git clone https://github.com/

4 Aug 23, 2021
PyG (PyTorch Geometric) - A library built upon PyTorch to easily write and train Graph Neural Networks (GNNs)

PyG (PyTorch Geometric) is a library built upon PyTorch to easily write and train Graph Neural Networks (GNNs) for a wide range of applications related to structured data.

PyG 16.5k Jan 08, 2023
A Web API for automatic background removal using Deep Learning. App is made using Flask and deployed on Heroku.

Automatic_Background_Remover A Web API for automatic background removal using Deep Learning. App is made using Flask and deployed on Heroku. 👉 https:

Gaurav 16 Oct 29, 2022
Pytorch implementation of few-shot semantic image synthesis

Few-shot Semantic Image Synthesis Using StyleGAN Prior Our method can synthesize photorealistic images from dense or sparse semantic annotations using

40 Sep 26, 2022
Using deep learning model to detect breast cancer.

Breast-Cancer-Detection Breast cancer is the most frequent cancer among women, with around one in every 19 women at risk. The number of cases of breas

1 Feb 13, 2022
A Python module for parallel optimization of expensive black-box functions

blackbox: A Python module for parallel optimization of expensive black-box functions What is this? A minimalistic and easy-to-use Python module that e

Paul Knysh 426 Dec 08, 2022
UltraPose: Synthesizing Dense Pose with 1 Billion Points by Human-body Decoupling 3D Model

UltraPose: Synthesizing Dense Pose with 1 Billion Points by Human-body Decoupling 3D Model Official repository for the ICCV 2021 paper: UltraPose: Syn

MomoAILab 92 Dec 21, 2022
Official repository for ABC-GAN

ABC-GAN The work represented in this repository is the result of a 14 week semesterthesis on photo-realistic image generation using generative adversa

IgorSusmelj 10 Jun 23, 2022
An official implementation of MobileStyleGAN in PyTorch

MobileStyleGAN: A Lightweight Convolutional Neural Network for High-Fidelity Image Synthesis Official PyTorch Implementation The accompanying videos c

Sergei Belousov 602 Jan 07, 2023
CondNet: Conditional Classifier for Scene Segmentation

CondNet: Conditional Classifier for Scene Segmentation Introduction The fully convolutional network (FCN) has achieved tremendous success in dense vis

ycszen 31 Jul 22, 2022
Real-time multi-object tracker using YOLO v5 and deep sort

This repository contains a two-stage-tracker. The detections generated by YOLOv5, a family of object detection architectures and models pretrained on the COCO dataset, are passed to a Deep Sort algor

Mike 3.6k Jan 05, 2023