Compressai ( Compress-ay ) ist eine Pytorch-Bibliothek und Evaluierungsplattform für die End-to-End-Komprimierungsforschung.
Compressai bietet derzeit:

HINWEIS : Multi-GPU-Unterstützung ist jetzt experimentell.
Compressai unterstützt Python 3.8+ und Pytorch 1.7+.
PIP :
pip install compressaiHinweis : Räder sind für Linux und MacOS erhältlich.
Aus Quelle :
Ein C ++ 17 -Compiler, eine aktuelle Version von PIP (19,0+) und gemeinsame Python -Pakete sind ebenfalls erforderlich (siehe setup.py für die vollständige Liste).
Um lokal zu beginnen und die Entwicklungsversion von Compressai zu installieren, führen Sie die folgenden Befehle in einer virtuellen Umgebung aus:
git clone https://github.com/InterDigitalInc/CompressAI compressai
cd compressai
pip install -U pip && pip install -e .Für eine benutzerdefinierte Installation können Sie auch einen der folgenden Befehle ausführen:
pip install -e '.[dev]' : Installieren Sie die für die Entwicklung erforderlichen Pakete (Tests, Linie, Dokumente)pip install -e '.[tutorials]' : Installieren Sie die für die Tutorials (Notizbücher) erforderlichen Pakete für die Tutorials (Notebooks)pip install -e '.[all]' : Installieren Sie alle optionalen PaketeHinweis : Docker -Bilder werden in Zukunft veröffentlicht. Conda -Umgebungen werden nicht offiziell unterstützt.
Beispiele für Skript- und Notebooks finden Sie in examples/ Verzeichnissen.
Führen Sie das Beispiel codec.py aus, um Bilder mit den bereitgestellten Modellen zu codieren/zu dekodieren:
python3 examples/codec.py --help In examples/train.py wird ein Beispiel-Schulungsskript mit einem Tarif-Distortion-Verlust angegeben. Sie können das im Trainingsskript verwendete Modell durch Ihr eigenes Modell ersetzen, das in Compressai implementiert ist, und dann das Skript für eine einfache Trainingspipeline ausführen:
python3 examples/train.py -d /path/to/my/image/dataset/ --epochs 300 -lr 1e-4 --batch-size 16 --cuda --saveHinweis: Das Trainingsbeispiel verwendet eine benutzerdefinierte ImageFolder -Struktur.
Ein Jupyter-Notizbuch, das die Verwendung eines vorgebildeten Modells für die erlernte Bildkomprimierung veranschaulicht, ist ebenfalls im examples enthalten:
pip install -U ipython jupyter ipywidgets matplotlib
jupyter notebook examples/Um ein geschultes Modell auf Ihrem eigenen Datensatz zu bewerten, bietet Compressai ein Evaluierungsskript:
python3 -m compressai.utils.eval_model checkpoint /path/to/images/folder/ -a $ARCH -p $MODEL_CHECKPOINT ...Bewertung vorgelieferte Modelle vorhandene Modelle:
python3 -m compressai.utils.eval_model pretrained /path/to/images/folder/ -a $ARCH -q $QUALITY_LEVELS ...Um Ergebnisse von Bank -Simulationen von Bank/Eval_Model zu zeichnen (erfordert standardmäßig Matplotlib):
python3 -m compressai.utils.plot --helpBewertung traditioneller Codecs:
python3 -m compressai.utils.bench --help
python3 -m compressai.utils.bench bpg --help
python3 -m compressai.utils.bench vtm --helpFür Video können ähnliche Tests durchgeführt werden. Compressai enthält nur SSF2020 vorerst:
python3 -m compressai.utils.video.eval_model checkpoint /path/to/video/folder/ -a ssf2020 -p $MODEL_CHECKPOINT ...
python3 -m compressai.utils.video.eval_model pretrained /path/to/video/folder/ -a ssf2020 -q $QUALITY_LEVELS ...
python3 -m compressai.utils.video.bench x265 --help
python3 -m compressai.utils.video.bench VTM --help
python3 -m compressai.utils.video.plot --help Führen Sie Tests mit pytest aus:
pytest -sx --cov=compressai --cov-append --cov-report term-missing tests Langsame Tests können mit der Option -m "not slow" übersprungen werden.
Compressai ist unter der BSD 3-Clause Clear Lizenz lizenziert
Wir begrüßen Feedback und Beiträge. Bitte öffnen Sie ein GitHub -Problem, um Fehler zu melden, Verbesserungen zu fordern oder Fragen zu haben.
Lesen Sie vor dem Beitrag die Datei mit beitragen.md.
Wenn Sie dieses Projekt verwenden, zitieren Sie bitte die relevanten Originalpublikationen für die Modelle und Datensätze und zitieren dieses Projekt als:
@article{begaint2020compressai,
title={CompressAI: a PyTorch library and evaluation platform for end-to-end compression research},
author={B{'e}gaint, Jean and Racap{'e}, Fabien and Feltman, Simon and Pushparaja, Akshay},
year={2020},
journal={arXiv preprint arXiv:2011.03029},
}
Für jede Arbeit im Zusammenhang mit den variablen Bitrate -Modellen zitieren Sie bitte
@article{kamisli2024dcc_vbrlic,
title={Variable-Rate Learned Image Compression with Multi-Objective Optimization and Quantization-Reconstruction Offsets},
author={Kamisli, Fatih and Racap{'e}, Fabien and Choi, Hyomin},
year={2024},
booktitle={2024 Data Compression Conference (DCC)},
eprint={2402.18930},
}