Skip to main content

No project description provided

Project description

What is Waffle Box.

Waffle Box는 기존 Autocare App을 Waffle로 만든 모델로 교체해 새로운 App을 생성해 줍니다.

Build

Waffle Box는 python package 관리자인 Poetry를 기반으로 빌드 및 배포합니다. Install poetry: https://python-poetry.org/docs/

poetry build

Dependency

  • python
    • 3.10

Install

Install from code

poetry install

Install from PyPI

pip install waffle-box

Usage

CLI

Pull Waffle Maker Image

wb --dx-version 1.6.2 pull --login

Convert App

wb --dx-version 1.6.2 convert safety_app_1.0.0.zip -o safety_app_1.0.1.zip

Convert Model

wb --dx-version 1.6.2 bake ~/flame.onnx -O ~/model.engine --precision fp32 --batch 16 --shapes 3x640x640

API

convert_model시 주의사항

Bake와 Convert에 convert_model(s) 메소드가 존재 합니다. 이를 cli가 아닌, api 제공을 위해 사용한다면 다음 인자를 사용하여야 합니다.

using_thread (bool): thread 동작 여부.
allow_multiple_containers (bool): convert를 동시에 가능한지 여부.

그리고, convert_model(s)은 thread_handler를 return 합니다. handler.status를 통해 thread의 상태를 확인할 수 있으며 다음의 상태를 가집니다.

class ThreadStatus(Enum):
    CREATE = 1
    RUN = 2
    TERMINATE = 3
    EXCEPTION = 4

thread 옵션을 주면, start하여 CREATE -> RUN 상태가 됩니다. 그리고 작업 종료 후 자동적으로 RUN -> TERMINATE 상태가 되며 에러 발생 시 EXCEPTION 상태가 됩니다.

이를 hander.join()을 통해 TERMINATE나 EXCEPTION 상태에서 thread join이 가능합니다.

! allow_multiple_containers 주의사항

App에서 여러개의 model을 변환할 때, container의 생성과 파괴가 반복됩니다.
파괴하고 생성되기 전에 새로운 App 변환을 시도하면, 기존 App의 컨테이너 생성이 실패하여 에러가 발생할 수 있습니다.
(docker container의 개수 제한은 있지만, lock이 존재하지 않습니다.)

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

waffle_box-0.2.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

waffle_box-0.2.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file waffle_box-0.2.0.tar.gz.

File metadata

  • Download URL: waffle_box-0.2.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.12 Linux/5.15.0-1042-azure

File hashes

Hashes for waffle_box-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d7bb44d64be3515293c6114f95cd11b9aef9051e6aa0cf499326b913c670ff54
MD5 6536f1898150bdc001f85ef9860306e7
BLAKE2b-256 0ea1eedd77d066f9ffe69a08ac1c869d305e7bc2f2e44139be7edf1752204b0f

See more details on using hashes here.

File details

Details for the file waffle_box-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: waffle_box-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.12 Linux/5.15.0-1042-azure

File hashes

Hashes for waffle_box-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cab13b3112da7e4e0b3c5a59b33a97d8f240dec93045a40e4b9a9facd6c0a031
MD5 0bca8d9ff2532e0999909ecb8a4fec0b
BLAKE2b-256 5ead56329e5fcda67ca8c9c9b33f9db77e598e4ab6669af9f7584cac0610ebd1

See more details on using hashes here.

Supported by

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