Project Icon

CompressAI

基于PyTorch的端到端压缩研究开源库

CompressAI是基于PyTorch的开源库,致力于端到端压缩研究。该库提供深度学习数据压缩的自定义组件、预训练图像压缩模型,以及评估工具用于比较学习型模型与传统编解码器。支持Python 3.8+和PyTorch 1.7+,为压缩技术研究提供了实用平台。

许可证 PyPI 下载量

CompressAI(发音为compress-ay)是一个用于端到端压缩研究的PyTorch库和评估平台。

CompressAI目前提供:

  • 用于基于深度学习的数据压缩的自定义操作、层和模型
  • 官方TensorFlow压缩库的部分移植
  • 用于学习图像压缩的预训练端到端压缩模型
  • 评估脚本,用于将学习模型与经典图像/视频压缩编解码器进行比较

Kodak数据集上的PSNR性能图

注意:多GPU支持目前处于实验阶段。

安装

CompressAI支持Python 3.8+和PyTorch 1.7+。

pip安装

pip install compressai

注意:Linux和MacOS提供预编译的wheel包。

从源代码安装

还需要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]':安装教程所需的包(notebooks)
  • pip install -e '.[all]':安装所有可选包

注意:未来将发布Docker镜像。不官方支持Conda环境。

文档

使用方法

示例

脚本和notebook示例可以在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结构。

examples目录中还提供了一个Jupyter notebook,展示了如何使用预训练模型进行学习图像压缩:

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 issue。

在贡献之前,请阅读CONTRIBUTING.md文件。

作者

  • Jean Bégaint、Fabien Racapé、Simon Feltman和Hyomin Choi,InterDigital AI实验室。

引用

如果您使用本项目,请引用相关模型和数据集的原始出版物,并引用本项目如下:

@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},
}

相关链接

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号