Opinionated Inference Framework for Remote Sensing Deep Learning Applications.
Project description
SatVision
An opinionated framework for deploying computer vision models on remote sensing imagery.
🚀 Getting Started
The framework supports both local Python inference and scalable deployment via NVIDIA Triton Inference Server.
1. 💻 Local Inference
Best for development and direct integration into Python applications.
Installation:
pip install SatVision
# For TensorRT support (requires NVIDIA GPU and drivers):
pip install "SatVision[tensorrt-cu12]"
Usage Example:
import satvis
from pathlib import Path
# Initialize model (supports 'torch' or 'tensorrt' backends)
# Note: 'tensorrt' backend requires the optional dependency installed above.
model = satvis.get_inference_model(
model_name="torchvision::resnet50",
# override_args={"backend_type": "tensorrt"} # Uncomment to use TensorRT
)
image_path = Path("path/to/your/image.jpg") # Replace with your image path
predictions = model.predict(
image=image_path,
apply_transform=True
)
best_prediction = max(predictions.items(), key=lambda item: item[1])
print(f"Best prediction: {best_prediction}")
2. 🏗️ Server Deployment
Deploy models using NVIDIA Triton Inference Server for high-performance serving.
Setup:
-
Clone the repository:
git clone https://github.com/liopeer/SatVis.git cd SatVis
-
Install
just(Command Runner): Follow the instructions at Just Docs to installjustfor running predefined commands. -
Install Dependencies: This will install
uv(package manager) and project dependencies.just install-uv just install-dev source .venv/bin/activate
This installs
tensorrt==10.9.0.34. This version is compatible with Nvidia Triton Servernvcr.io/nvidia/tritonserver:25.03-py3and driver>=570. -
Generate Models: Create the optimized ONNX/TensorRT models for Triton Server.
python server/generate_models.py -
Launch Triton Server: Requirements: NVIDIA Driver >= 570, Docker with CUDA Toolkit.
docker compose -f server/docker-compose.yml up -d
-
Run Inference Client: Send an inference request to the running server.
uv run scripts/predict_resnet_http.py
🗺️ Roadmap
Q4 2025
- Core PyTorch Framework with Inference and ONNX Export:
- Classification
- Image Embeddings
- Language Embeddings
- TensorRT Export
- FP32/FP16 export
- verification
- Model Serving
- Nvidia Triton server with kserver API
- Model Zoo for classification and embeddings
- Documentation of REST API
- Basic CI/CD
- Inference server to container registry
- Unit tests with pytest and coverage
Q1 2026
- Model Training
- Panoptic Segmentation
- CLIP-style training for image and language embeddings
- Multi-Spectral / Hyperspectral support
- I/O for various formats (GeoTIFF, HDF5, NetCDF)
- Data Augmentation for multi-spectral data
- Models
- Documentation for Python API
Q2 2026
- Model Quantization
- Int8 PTQ (Post Training Quantization) with calibration
Small Projects
- PostGIS sampler for PyTorch DataLoader
👤 Maintainers
- Oblt Lionel Peer (lionel.peer@gmail.com)
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 satvision-0.0.2.tar.gz.
File metadata
- Download URL: satvision-0.0.2.tar.gz
- Upload date:
- Size: 292.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad64f7edfcf92ccd7bfd66d6d5d0c087811f2d69a00fed570ba1b7c841f38318
|
|
| MD5 |
5e867462acdeff028bc7e14172bcc150
|
|
| BLAKE2b-256 |
ab638b7e1c24e09cefc3571221d9e562129a6c813cb9ad2a7123f38ee5321034
|
File details
Details for the file satvision-0.0.2-py3-none-any.whl.
File metadata
- Download URL: satvision-0.0.2-py3-none-any.whl
- Upload date:
- Size: 78.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b9620b7b9663078d953f56dc5a738f70b49e86901d2c8f554302a3f9441dec9
|
|
| MD5 |
664aa497762b41cbdb7ab722ba62e65b
|
|
| BLAKE2b-256 |
1e111bd0551aa96ae91d8b7e2aacc7749090da5539489185f67785e198f3fa12
|