Pinferencia

Python + Inference - Model Deployment library in Python. Simplest model inference server ever.
Alternatives To Pinferencia
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Tensorflow175,38732777an hour ago46October 23, 20192,131apache-2.0C++
An Open Source Machine Learning Framework for Everyone
Transformers103,3776491133 minutes ago91June 21, 2022747apache-2.0Python
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
Pytorch67,67014626 minutes ago23August 10, 202212,257otherPython
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Keras58,55733015 hours ago68May 13, 2022386apache-2.0Python
Deep Learning for humans
Cs Video Courses56,273
8 days ago17
List of Computer Science courses with video lectures.
Faceswap45,692
2 hours ago27gpl-3.0Python
Deepfakes Software For All
D2l Zh44,160
13 days ago45March 25, 202234apache-2.0Python
《动手学深度学习》:面向中文读者、能运行、可讨论。中英文版被60多个国家的400多所大学用于教学。
Tensorflow Examples42,312
8 months ago218otherJupyter Notebook
TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2)
100 Days Of Ml Code40,344
3 months ago61mit
100 Days of ML Coding
Deepfacelab40,302
3 days ago534gpl-3.0Python
DeepFaceLab is the leading software for creating deepfakes.
Alternatives To Pinferencia
Select To Compare


Alternative Project Comparisons
Readme

Pinferencia

Simple, but Powerful.

Language grade: Python PyPI PyPI - Python Version


English Doc |

| Readme

Help wanted. Translation, rap lyrics, all wanted. Feel free to create an issue.


Pinferencia tries to be the simplest machine learning inference server ever!

Three extra lines and your model goes online.

Serving a model with GUI and REST API has never been so easy.

Pinferencia-GUI

Pinferencia-REST API

If you want to

  • give your model a GUI and REST API
  • find a simple but robust way to serve your model
  • write minimal codes while maintain controls over you service
  • avoid any heavy-weight solutions
  • compatible with other tools/platforms

You're at the right place.

Features

Pinferencia features include:

  • Fast to code, fast to go alive. Minimal codes needed, minimal transformation needed. Just based on what you have.
  • 100% Test Coverage: Both statement and branch coverages, no kidding. Have you ever known any model serving tool so seriously tested?
  • Easy to use, easy to understand.
  • A pretty and clean GUI out of box.
  • Automatic API documentation page. All API explained in details with online try-out feature.
  • Serve any model, even a single function can be served.
  • Support Kserve API, compatible with Kubeflow, TF Serving, Triton and TorchServe. There is no pain switching to or from them, and Pinferencia is much faster for prototyping!

Install

Recommend

pip install "pinferencia[streamlit]"

Backend Only

pip install "pinferencia"

Quick Start

Serve Any Model

from pinferencia import Server


class MyModel:
    def predict(self, data):
        return sum(data)


model = MyModel()

service = Server()
service.register(model_name="mymodel", model=model, entrypoint="predict")

Just run:

pinfer app:service

Hooray, your service is alive. Go to http://127.0.0.1:8501/ and have fun.

Any Deep Learning Models? Just as easy. Simple train or load your model, and register it with the service. Go alive immediately.

Hugging Face

Details: HuggingFace Pipeline - Vision

from transformers import pipeline

from pinferencia import Server

vision_classifier = pipeline(task="image-classification")


def predict(data):
    return vision_classifier(images=data)


service = Server()
service.register(model_name="vision", model=predict)

Pytorch

import torch

from pinferencia import Server


# train your models
model = "..."

# or load your models (1)
# from state_dict
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))

# entire model
model = torch.load(PATH)

# torchscript
model = torch.jit.load('model_scripted.pt')

model.eval()

service = Server()
service.register(model_name="mymodel", model=model)

Tensorflow

import tensorflow as tf

from pinferencia import Server


# train your models
model = "..."

# or load your models (1)
# saved_model
model = tf.keras.models.load_model('saved_model/model')

# HDF5
model = tf.keras.models.load_model('model.h5')

# from weights
model = create_model()
model.load_weights('./checkpoints/my_checkpoint')
loss, acc = model.evaluate(test_images, test_labels, verbose=2)

service = Server()
service.register(model_name="mymodel", model=model, entrypoint="predict")

Any model of any framework will just work the same way. Now run uvicorn app:service --reload and enjoy!

Contributing

If you'd like to contribute, details are here

Popular Machine Learning Projects
Popular Deep Learning Projects
Popular Machine Learning Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Machine Learning
Deep Learning
Pytorch
Tensorflow
Artificial Intelligence
Natural Language Processing
Data Science
Computer Vision