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.17.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tritony-0.0.17.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for tritony-0.0.17.tar.gz
Algorithm Hash digest
SHA256 c4258a0ba46f90c6a80f21b1b31b1e423bed4025e0c0a008d6883572ed9453fc
MD5 4dbadf34d309e4ea0d219adcfea0fc3b
BLAKE2b-256 54f32945a773ec57e288782362f5e4ec4adc6e87b38ff433816047aad8b74f65

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tritony-0.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 b2b44ecad07a916811c86fdb54ef2716c686196cecfc228f54d9c2b3f7ce80b6
MD5 7b63680fc53b76efd4e95fccd3987bc4
BLAKE2b-256 0f74cb9d65f270356328a2d38ba32b4b24b07060b66f7d5e01aea1f07d2a3d4e

See more details on using hashes here.

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