A comprehensive OCR and computer vision model library with support for SVTRV2, YOLO, EfficientNet, PPLCNet, and more.
Project description
MemoLib
A comprehensive OCR and computer vision model library built on PyTorch, providing a unified interface for text recognition, object detection, image segmentation, and image classification.
Features
- Text Recognition - SVTRV2 model with GTC (Generative Text Context) pipeline, SMTR decoder, and RCTC loss
- Object Detection - YOLO family (v5, v8, v11, v26) with detection and segmentation variants
- Image Segmentation - DINO + UperNet semantic segmentation
- Image Classification - EfficientNet, PPLCNet, YOLO classification
- Unified Interface - Consistent API across all models:
LoadWeight,Predict,BatchPredict,Train,Export - Model Export - Export to ONNX, OpenVINO, or TensorRT formats
Installation
pip install memolib
Optional dependencies
# For YOLO models
pip install memolib[yolo]
# For PPLCNet models
pip install memolib[pplcnet]
# For development
pip install memolib[dev]
Quick Start
Text Recognition with SVTRV2
from MemoLib import SVTRV2, TrainingConfig
# Load a pre-trained recognition model
model = SVTRV2()
model.LoadWeight("path/to/weights.pth")
# Single prediction
result = model.Predict(image)
# Batch prediction
results = model.BatchPredict([img1, img2, img3])
Object Detection with YOLO
from MemoLib import Yolo, TrainingConfig
from MemoLib.Model.BaseModel import eYoloDetectionModel
# Load a YOLO detection model
model = Yolo()
model.LoadWeight(eYoloDetectionModel.YoloV8n)
# Single prediction
result = model.Predict(image)
Semantic Segmentation with DINO UperNet
from MemoLib.Model.DinoUperNet import DinoUperNet, TrainingConfig
model = DinoUperNet()
model.LoadWeight("path/to/weights.pth")
result = model.Predict(image)
Model Export
from MemoLib.Model.BaseModel import eModelExportType
# Export to ONNX
model.Export("model.onnx", eModelExportType.ONNX)
# Export to OpenVINO
model.Export("model.xml", eModelExportType.OpenVINO)
# Export to TensorRT
model.Export("model.engine", eModelExportType.TensorRT)
Project Structure
MemoLib/
├── Model/
│ ├── BaseModel/ # Base interfaces and model type enums
│ │ ├── IModel.py # Abstract model interface
│ │ └── eModelBase.py # Model type enumerations
│ ├── STVRV2/ # SVTRV2 OCR recognition model
│ ├── YOLO/ # YOLO detection & classification
│ ├── DinoUperNet/ # DINO + UperNet segmentation
│ ├── Efficientnet/ # EfficientNet classification
│ └── PPLCNet/ # PPLCNet classification
Available Model Types
| Category | Models |
|---|---|
| Recognition | SVTRV2 (GTC/SMTR/RCTC) |
| Detection | YOLOv5, YOLOv8, YOLO11, YOLO26, RF-DETR |
| Segmentation | YOLO Segment, DINO UperNet |
| Classification | EfficientNet (B0-B7, V2), PPLCNet, YOLO Class, RF-DETR Class |
| Anomaly Detection | DInomaly, INFormerly |
Requirements
- Python 3.9+
- PyTorch >= 1.10.0
- torchvision >= 0.11.0
- numpy >= 1.21.0
- opencv-python >= 4.5.0
License
MIT License
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 memolib-1.1.16.tar.gz.
File metadata
- Download URL: memolib-1.1.16.tar.gz
- Upload date:
- Size: 67.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
629e960aa15edc3454a35b2f928a5e966a1c4d0a69ff50f1c21eaba414bb2482
|
|
| MD5 |
a5574d895c528adbfb711bd8e319f337
|
|
| BLAKE2b-256 |
5759f11c17f5e54089a49b99d5d071ded4300c421f86653e39c4020dfb066264
|
File details
Details for the file memolib-1.1.16-py3-none-any.whl.
File metadata
- Download URL: memolib-1.1.16-py3-none-any.whl
- Upload date:
- Size: 79.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8403556ae47930827690d17280e24afae7f6503e9f392abbdd289565c44dee3
|
|
| MD5 |
0acdc6be96f4a09b6e898506470366ae
|
|
| BLAKE2b-256 |
31782bf8f5ebe653eabd6f77299bbccc27e25e1a2ddd9fbac2dc377b1b6d12a0
|