Compressai ( Compress-ay )는 엔드 투 엔드 압축 연구를위한 Pytorch 라이브러리 및 평가 플랫폼입니다.
Compressai는 현재 제공합니다.

참고 : 멀티 GPU 지원은 이제 실험적입니다.
Compressai는 Python 3.8+ 및 Pytorch 1.7+를 지원합니다.
PIP :
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 Images는 향후 출시 될 예정입니다. 콘다 환경은 공식적으로 지원되지 않습니다.
스크립트 및 노트북 예제는 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참고 : 교육 예제는 사용자 정의 imagefolder 구조를 사용합니다.
학습 된 이미지 압축에 대한 미리 훈련 된 모델의 사용법을 보여주는 Jupyter 노트북도 examples 디렉토리에 제공됩니다.
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-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},
}