为神经压缩爱好者提供的一组工具
项目描述
NeuralCompression
新增功能
- 2023年8月(图像压缩) - 发布了MS-ILLM的PyTorch实现
- 2023年4月(视频压缩) - 发布了VCT的PyTorch实现
- 2022年11月(图像压缩) - 发布了带有扩散模型的Bits-Back编码!
- 2021年7月(视频压缩) - 发布了DVC的实现
关于
NeuralCompression是一个致力于研究神经网络的Python仓库,用于数据压缩。仓库包括基于JAX的熵编码器、图像压缩模型、视频压缩模型以及图像和视频评估的指标。
NeuralCompression是alpha软件。该项目正在积极开发中。随着我们发布新版本,API可能会更改,可能破坏向后兼容性。
安装
NeuralCompression是一个目前处于开发中的项目。您可以通过开发模式安装此仓库。
PyPI安装
首先,根据PyTorch网站的说明安装PyTorch。然后,你应该能够运行
pip install neuralcompression
以从PyPI获取最新版本。
开发安装
首先,克隆存储库并导航到NeuralCompression根目录,通过运行以下命令以开发模式安装包:
pip install --editable ".[tests]"
如果你对匹配测试环境不感兴趣,则只需应用pip install -e .
即可。
存储库结构
我们使用两级存储库结构。`neuralcompression`包包含执行神经压缩研究的核心工具集。提交到核心包的代码需要更严格的lint检查、高代码质量和严格的审查。`projects`文件夹包含重现论文和训练基线的代码。此文件夹中的代码不会进行严格的lint检查,我们不强制执行类型注解,并且可以省略单元测试。
两级结构通过`projects`中的代码,这些代码建立在`neuralcompression`中的高质量代码的基础上,使得快速迭代和重现成为可能。
neuralcompression
neuralcompression
- 基础包data
- 用于各种数据集的PyTorch数据加载器distributions
- 压缩概率模型的扩展functional
- 图像扭曲、信息成本、flop计数等方法layers
- 压缩模型的构建块metrics
- 评估模型性能的torchmetrics
类models
- 完整的压缩模型optim
- 有用的优化实用工具
projects
projects
- 重现论文的食谱和代码bits_back_diffusion
- 使用扩散模型的bits-back编码代码deep_video_compression
DVC (Lu et al., 2019),可能很快就会过时illm
MS-ILLM (Muckley et al., 2023)jax_entropy_coders
- JAX中的算术编码和ANS的实现torch_vct
VCT (Mentzer, et al.,)
教程笔记本
此存储库还包括详细说明包不同部分的交互式笔记本,可以在`tutorials`目录中找到。现有的教程包括:
- NeuralCompression flop计数器的说明(在Colab中查看)。
- 使用
neuralcompression.metrics
和torchmetrics
计算率失真曲线(在Colab中查看)。
贡献
在提交拉取请求之前,请阅读我们的CONTRIBUTING指南和我们的CODE_OF_CONDUCT。
我们测试所有拉取请求。我们依靠此进行审查,因此请确保任何新代码都经过测试。`neuralcompression`的测试在存储库根目录的`tests`文件夹中。各个项目的测试在每个项目的自己的`tests`文件夹中。
我们使用black
进行格式化,isort
进行导入排序,flake8
进行lint检查,以及mypy
进行类型检查。
许可
NeuralCompression采用MIT许可证,如LICENSE文件中所述。
与NeuralCompression一起发布的模型权重采用CC-BY-NC 4.0许可证,如WEIGHTS_LICENSE文件中所述。
部分代码可能来自其他存储库并包含其他许可证。请仔细阅读所有代码文件以获取详细信息。
引用
如果你使用代码进行论文重现。如果你还想引用存储库,你可以使用
@misc{muckley2021neuralcompression,
author={Matthew Muckley and Jordan Juravsky and Daniel Severo and Mannat Singh and Quentin Duval and Karen Ullrich},
title={NeuralCompression},
howpublished={\url{https://github.com/facebookresearch/NeuralCompression}},
year={2021}
}
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
neuralcompression-0.3.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 447ba7e12dcf253fcebf44dd61dfd8451c06dd3a2884d42d096e9bddb7418535 |
|
MD5 | f627f6e43f87f6275667bb5641d25151 |
|
BLAKE2b-256 | 26e95751cea9c26972e7f339891bd73b975ac10c1753f0c0e1a43c101bac159c |
neuralcompression-0.3.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 830c97f711723c6e30b8a87f1a39d7d6c921928fb263ce50d989741d67f7e3ed |
|
MD5 | 4d833138487396608afc5a4c8fc12804 |
|
BLAKE2b-256 | d5fd96699c87f8239b8d59a18ba04d1a99b525928ebf7d341bf15b0c4a524d17 |