跳转到主要内容

为神经压缩爱好者提供的一组工具

项目描述

NeuralCompression

LICENSE Build and Test

新增功能

关于

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

教程笔记本

此存储库还包括详细说明包不同部分的交互式笔记本,可以在`tutorials`目录中找到。现有的教程包括:

贡献

在提交拉取请求之前,请阅读我们的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 (1.6 MB 查看哈希值)

上传时间

构建分布

neuralcompression-0.3.1-py3-none-any.whl (107.8 kB 查看哈希值)

上传时间 Python 3

支持