Compressai( Compress-ay )是一個用於端到端壓縮研究的Pytorch庫和評估平台。
Compressai當前提供:

注意:多GPU支持現在是實驗性的。
Compressai支持Python 3.8+和Pytorch 1.7+。
PIP :
pip install compressai注意:車輪可用於Linux和MacOS。
來自來源:
還需要A C ++ 17編譯器,最新版本的PIP(19.0+)和常見的Python軟件包(有關完整列表,請參見setup.py )。
要在本地開始並安裝Compressai的開發版本,請在虛擬環境中運行以下命令:
git clone https://github.com/InterDigitalInc/CompressAI compressai
cd compressai
pip install -U pip && pip install -e .對於自定義安裝,您還可以運行以下命令之一:
pip install -e '.[dev]' :安裝開發所需的軟件包(測試,伸長,文檔)pip install -e '.[tutorials]' :安裝教程所需的軟件包(筆記本)pip install -e '.[all]' :安裝所有可選軟件包注意:將來將發布Docker圖像。 Conda環境沒有正式支持。
腳本和筆記本示例可以在examples/目錄中找到。
要使用提供的預訓練模型編碼/解碼圖像,請運行codec.py器。
python3 examples/codec.py --help examples/train.py提供了帶有利率損失的訓練腳本。您可以用在Compressai中實現自己的模型替換訓練腳本中使用的模型,然後運行腳本以進行簡單的培訓管道:
python3 examples/train.py -d /path/to/my/image/dataset/ --epochs 300 -lr 1e-4 --batch-size 16 --cuda --save注意:培訓示例使用自定義圖像文件結構。
examples目錄中還提供了一本jupyter筆記本,說明了對學習圖像壓縮的預訓練模型的使用:
pip install -U ipython jupyter ipywidgets matplotlib
jupyter notebook examples/為了評估您自己的數據集中訓練有素的模型,Compressai提供了一個評估腳本:
python3 -m compressai.utils.eval_model checkpoint /path/to/images/folder/ -a $ARCH -p $MODEL_CHECKPOINT ...評估提供的預培訓模型:
python3 -m compressai.utils.eval_model pretrained /path/to/images/folder/ -a $ARCH -q $QUALITY_LEVELS ...繪製Bench/eval_model模擬的結果(默認情況下需要matplotlib):
python3 -m compressai.utils.plot --help評估傳統編解碼:
python3 -m compressai.utils.bench --help
python3 -m compressai.utils.bench bpg --help
python3 -m compressai.utils.bench vtm --help對於視頻,可以進行類似的測試,Compressai僅包括SSF2020:
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使用pytest進行測試:
pytest -sx --cov=compressai --cov-append --cov-report term-missing tests可以使用-m "not slow"選項跳過慢速測試。
Compressai已根據BSD 3級明確許可獲得許可
我們歡迎反饋和貢獻。請打開一個GitHub問題以報告錯誤,請求增強功能或有任何疑問。
在貢獻之前,請閱讀contruting.md文件。
如果您使用此項目,請引用有關模型和數據集的相關原始出版物,並將此項目引用為:
@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},
}
對於與可變比特率模型有關的任何工作,請引用
@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},
}