Skip to main content

Tiny configuration for Triton Inference Server

Project description

tritony - Tiny configuration for Triton Inference Server

Pypi CI Coverage Status

What is this?

If you see the official example, it is really confusing to use where to start.

Use tritony! You will get really short lines of code like example below.

import argparse
import os
from glob import glob
import numpy as np
from PIL import Image

from tritony import InferenceClient


def preprocess(img, dtype=np.float32, h=224, w=224, scaling="INCEPTION"):
    sample_img = img.convert("RGB")

    resized_img = sample_img.resize((w, h), Image.Resampling.BILINEAR)
    resized = np.array(resized_img)
    if resized.ndim == 2:
        resized = resized[:, :, np.newaxis]

    scaled = (resized / 127.5) - 1
    ordered = np.transpose(scaled, (2, 0, 1))
    
    return ordered.astype(dtype)


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--image_folder", type=str, help="Input folder.")
    FLAGS = parser.parse_args()

    client = InferenceClient.create_with("densenet_onnx", "0.0.0.0:8001", input_dims=3, protocol="grpc")
    client.output_kwargs = {"class_count": 1}

    image_data = []
    for filename in glob(os.path.join(FLAGS.image_folder, "*")):
        image_data.append(preprocess(Image.open(filename)))

    result = client(np.asarray(image_data))

    for output in result:
        max_value, arg_max, class_name = output[0].decode("utf-8").split(":")
        print(f"{max_value} ({arg_max}) = {class_name}")

Release Notes

  • 24.07.11 Upgrade minimum tritonclient version to 2.34.0
  • 23.08.30 Support optional with model input, parameters on config.pbtxt
  • 23.06.16 Support tritonclient>=2.34.0
  • Loosely modified the requirements related to tritonclient

Key Features

  • Simple configuration. Only $host:$port and $model_name are required.
  • Generating asynchronous requests with asyncio.Queue
  • Simple Model switching
  • Support async tritonclient

Requirements

$ pip install tritonclient[all]

Install

$ pip install tritony

Test

With Triton

./bin/run_triton_tritony_sample.sh
pytest -s --cov-report term-missing --cov=tritony tests/

Example with image_client.py

# Download Images from https://github.com/triton-inference-server/server.git
python ./example/image_client.py --image_folder "./server/qa/images"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tritony-0.0.18.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

tritony-0.0.18-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file tritony-0.0.18.tar.gz.

File metadata

  • Download URL: tritony-0.0.18.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for tritony-0.0.18.tar.gz
Algorithm Hash digest
SHA256 800efc19b527b6acfa340ed0b7bce2fc30b8500189035e94b3dafd7d2f12dd5d
MD5 bbf4188a6dbaff2ff723b59df129d111
BLAKE2b-256 a2de17b88cf8f3ebcd39471f1611c751ad3867319f6f98d01c941dca6a880499

See more details on using hashes here.

Provenance

The following attestation bundles were made for tritony-0.0.18.tar.gz:

Publisher: wheels.yml on rtzr/tritony

Attestations:

File details

Details for the file tritony-0.0.18-py3-none-any.whl.

File metadata

  • Download URL: tritony-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for tritony-0.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 943d1252a154ad1f9da76b856743f52e636e8eb8817a194bee049adc5081a31b
MD5 d45e121887816a88ff6fe7bcf4a03ed3
BLAKE2b-256 13b532bef7c35623404d57f346ffc0706bab18a23a08503422ef38d52e23937e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tritony-0.0.18-py3-none-any.whl:

Publisher: wheels.yml on rtzr/tritony

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page