Compressai( Compress-Ay )は、エンドツーエンドの圧縮研究のためのPytorchライブラリおよび評価プラットフォームです。
Compressaiは現在提供しています:

注:マルチGPUサポートは実験的になりました。
Compressaiは、Python 3.8+およびPytorch 1.7+をサポートしています。
ピップ:
pip install compressai注:LinuxとMacOSでホイールを使用できます。
ソースから:
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画像は将来リリースされます。コンドラ環境は正式にサポートされていません。
スクリプトとノートの例は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注:トレーニングの例では、カスタムイメージフォルダー構造を使用しています。
学習した画像圧縮の事前に訓練されたモデルの使用を示すJupyterノートブックは、 examples Directoryにも提供されています。
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 ...ベンチ/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 --helppytestでテストを実行します:
pytest -sx --cov=compressai --cov-append --cov-report term-missing tests遅いテストは-m "not slow"オプションを使用してスキップできます。
Compressaiは、BSD 3-Clause Clearライセンスに基づいてライセンスされています
フィードバックと貢献を歓迎します。 githubの問題を開いて、バグを報告し、強化を要求するか、質問があるかどうかを確認してください。
貢献する前に、contributing.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},
}