lib for pms nvidia processors
Project description
PMS NVIDIA Processor: High-Performance GPU Inference Backend
pms-nvidia-processor는 고해상도 비디오 및 이미지 복원 AI 모델들을 NVIDIA GPU 및 TensorRT 환경에서 초고속으로 추론(Inference)하기 위해 설계된 백엔드 프로세서 패키지입니다.
이 라이브러리는 사내 표준 추론 프레임워크인 pms-inference-engine의 규격을 완벽히 준수하는 플러그인 형태로 동작합니다. 이를 통해 상위 오케스트레이터의 코드 변경 없이, 다양한 비전(Vision) 모델의 I/O 텐서 매핑, 메모리 관리, 그리고 전/후처리를 하드웨어에 최적화된 방식으로 수행합니다.
🚀 Key Engineering Features
- Advanced Patch-Based Inference Engine
- 4K, 8K와 같은 초고해상도 미디어 처리 시 발생하는 GPU VRAM 부족(OOM) 현상을 방지하기 위해, 자체 구현한 고도화된 패치 분할 및 병합(Patcher) 알고리즘(
utility/patcher)을 적용했습니다. - 오버랩(Overlap) 블렌딩 기법을 통해 패치 경계선의 아티팩트(Seam)를 완벽하게 제거하여, 메모리 제약 없이 원본 화질의 무손실 추론을 보장합니다.
- 4K, 8K와 같은 초고해상도 미디어 처리 시 발생하는 GPU VRAM 부족(OOM) 현상을 방지하기 위해, 자체 구현한 고도화된 패치 분할 및 병합(Patcher) 알고리즘(
- Dynamic Normalization & Tensor IO Pipeline
- 모델마다 상이한 입력 정규화(Normalization) 방식과 채널 순서를 유연하게 처리하기 위해, 팩토리 패턴 기반의
Normalizer및 데이터 타입 변환(Caster) 유틸리티를 추상화했습니다.
- 모델마다 상이한 입력 정규화(Normalization) 방식과 채널 순서를 유연하게 처리하기 위해, 팩토리 패턴 기반의
- Extensive Model Support & Modularity
- DPIR, DRU-RBPN (Deinterlacing, Super Resolution), FISF, Color ResNet 등 수십 가지의 복잡한 딥러닝 모델들을 각각 독립적인
Processor모듈로 캡슐화(Encapsulation)했습니다. - 새로운 모델이 추가되더라도 기존 코드를 수정할 필요 없이 (Open-Closed Principle 준수) 즉시 파이프라인에 통합할 수 있습니다.
- DPIR, DRU-RBPN (Deinterlacing, Super Resolution), FISF, Color ResNet 등 수십 가지의 복잡한 딥러닝 모델들을 각각 독립적인
- Robust Verification Pipeline
- 프로덕션 배포 전 결함을 원천 차단하기 위해, 지원하는 모든 프로세서와 코어 유틸리티(Patcher, Normalizer)에 대해 방대한
pytest기반의 유닛 테스트 환경을 구축했습니다.
- 프로덕션 배포 전 결함을 원천 차단하기 위해, 지원하는 모든 프로세서와 코어 유틸리티(Patcher, Normalizer)에 대해 방대한
📁 Architecture & Module Structure
패키지 내부는 공통 추론 유틸리티와 개별 모델별 파이프라인으로 명확하게 분리되어 있습니다.
pms_nvidia_processor/
├── tools/ # TensorRT Engine (.plan) 빌드 및 패키지 관리 스크립트
├── utility/ # 공통 유틸리티 모듈
├── processor/ # 개별 AI 모델 파이프라인 구현체 (Base 상속)
│ ├── base/ # 프로세서 인터페이스 및 공통 설정 의존성
│ ├── dpir/ # DPIR (Denoising) 파이프라인
│ ├── dru_rbpn_sr_f3/ # DRU-RBPN Super Resolution (3-Frame)
│ ├── dru_rbpn_deinter_.../ # Deinterlacing 파이프라인 시리즈
│ └── (기타 10+종 모델 프로세서)
└── tests/ # 모델 및 유틸리티 기능 검증 Unit Test Suite
🛠 Tech Stack
- Language: Python 3.x
- Hardware Acceleration: NVIDIA GPU, TensorRT
- Core Abstraction:
pms-inference-engineInterface - Dependency Management: Poetry
- Testing & CI/CD: Pytest, GitHub Actions
📦 Getting Started
Installation
본 모듈은 pms-inference-engine 환경의 NVIDIA 백엔드로 동작합니다. GPU 드라이버 및 TensorRT가 호스트 환경에 구성되어 있어야 합니다.
pip install pms-nvidia-processor
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pms_nvidia_processor-2.16.0.tar.gz.
File metadata
- Download URL: pms_nvidia_processor-2.16.0.tar.gz
- Upload date:
- Size: 23.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7111e064ebbb462e1cccdec3ce54fcf400aa60df183823ba6b90ddba06135a26
|
|
| MD5 |
b7bbda99b7070956cae06fb17aa92c02
|
|
| BLAKE2b-256 |
a2ebffc1fb11cc6a6ad836931fae3f31abe7727fb74388fd72274db68076e455
|
File details
Details for the file pms_nvidia_processor-2.16.0-py3-none-any.whl.
File metadata
- Download URL: pms_nvidia_processor-2.16.0-py3-none-any.whl
- Upload date:
- Size: 68.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82f1ac20a1e7d1f7e9bca6f502a436c5375d9d262660427a0334e686da44c15e
|
|
| MD5 |
f63739fa731da36c1b682dc3c35e8b06
|
|
| BLAKE2b-256 |
8f39abb54690eba96460cc5b5ae647ba54882698af6643448f3241ffabf04328
|