O Compressai ( Compress-Ay ) é uma biblioteca Pytorch e plataforma de avaliação para pesquisa de compressão de ponta a ponta.
Compressai atualmente fornece:

NOTA : O suporte multi-GPU agora é experimental.
O Compressai suporta o Python 3.8+ e o Pytorch 1.7+.
pip :
pip install compressaiNota : as rodas estão disponíveis para Linux e MacOS.
Da fonte :
Um compilador C ++ 17, uma versão recente do PIP (19.0+), e os pacotes comuns de Python também são necessários (consulte setup.py para a lista completa).
Para começar localmente e instalar a versão de desenvolvimento da Compressai, execute os seguintes comandos em um ambiente virtual:
git clone https://github.com/InterDigitalInc/CompressAI compressai
cd compressai
pip install -U pip && pip install -e .Para uma instalação personalizada, você também pode executar um dos seguintes comandos:
pip install -e '.[dev]'pip install -e '.[tutorials]' : Instale os pacotes necessários para os tutoriais (notebooks)pip install -e '.[all]' : instale todos os pacotes opcionaisNota : as imagens do Docker serão lançadas no futuro. Os ambientes do CONDA não são oficialmente apoiados.
Exemplos de script e notebook podem ser encontrados nos examples/ diretórios.
Para codificar/decodificar imagens com os modelos pré-treinados fornecidos, execute o exemplo codec.py :
python3 examples/codec.py --help Um script de treinamento em exemplos com uma perda de distorção é fornecido em examples/train.py . Você pode substituir o modelo usado no script de treinamento pelo seu próprio modelo implementado no Compressai e, em seguida, executar o script para um simples pipeline de treinamento:
python3 examples/train.py -d /path/to/my/image/dataset/ --epochs 300 -lr 1e-4 --batch-size 16 --cuda --saveNOTA: O exemplo de treinamento usa uma estrutura de imagem de imagem personalizada.
Um caderno Jupyter que ilustra o uso de um modelo pré-treinado para a compressão de imagem aprendido também é fornecido no diretório examples :
pip install -U ipython jupyter ipywidgets matplotlib
jupyter notebook examples/Para avaliar um modelo treinado em seu próprio conjunto de dados, o Compressai fornece um script de avaliação:
python3 -m compressai.utils.eval_model checkpoint /path/to/images/folder/ -a $ARCH -p $MODEL_CHECKPOINT ...Para avaliar modelos pré-treinados fornecidos:
python3 -m compressai.utils.eval_model pretrained /path/to/images/folder/ -a $ARCH -q $QUALITY_LEVELS ...Para plotar os resultados das simulações de bancada/avala_model (requer matplotlib por padrão):
python3 -m compressai.utils.plot --helpPara avaliar os codecs tradicionais:
python3 -m compressai.utils.bench --help
python3 -m compressai.utils.bench bpg --help
python3 -m compressai.utils.bench vtm --helpPara vídeo, testes semelhantes podem ser executados, o Compressai inclui apenas o SSF2020 por enquanto:
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 Execute testes com pytest :
pytest -sx --cov=compressai --cov-append --cov-report term-missing tests Os testes lentos podem ser ignorados com a opção -m "not slow" .
A Compressai é licenciada sob a licença clara de 3-cláusulas BSD
Congratulamo -nos com feedback e contribuições. Abra um problema do GitHub para relatar bugs, solicitar aprimoramentos ou se tiver alguma dúvida.
Antes de contribuir, leia o arquivo contribuindo.md.
Se você usar este projeto, cite as publicações originais relevantes para os modelos e conjuntos de dados e cite este projeto como:
@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},
}
Para qualquer trabalho relacionado aos modelos variáveis de taxa de bits, cite
@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},
}