TensorFlow Compression 项目介绍
项目概述
TensorFlow Compression(简称TFC)是一个基于TensorFlow的数据压缩工具库。用户可以利用这个库建立自身的机器学习模型,并将端到端的优化数据压缩集成其中。该库帮助用户在数据存储时提高效率(应用于图像、特征、示例等),同时仅在一定程度上牺牲模型性能。
主要功能和组成
TensorFlow Compression 提供了一系列强大的功能和组件,帮助用户简化压缩任务中的复杂步骤:
-
范围编码:TFC 实现了灵活的TF运算,包括以C++编写的范围编码(也称为算术编码),并支持溢出功能,可对符号整数进行编码。
-
熵模型类:这些类简化了设计率失真优化编码的过程。在模型训练期间,它们的表现像可能性模型;训练完成后则自动设计范围编码表并进行压缩。
-
支持学习数据压缩的TensorFlow函数和Keras层:这些包括找到密度函数分位数的方法、考虑抖动噪声的期望值、具有更灵活填充选项的卷积层以及傅立叶域内重新参数化内核和偏差的支持。
最新更新
从2024年2月1日起,TensorFlow Compression 进入维护模式,这意味着:
- TFC的功能集将被冻结,不会再有新的功能开发,但会发布维护和修复。
- 下版本的TFC包只兼容TensorFlow 2.14,因为在TF 2.15的Keras版本中出现兼容性问题。
- 为了保证现有模型能在更新版本中运行,提供了一个新的
tensorflow-compression-ops
包,仅包含C++操作。
安装指南
要安装TensorFlow Compression,可以使用pip命令进行安装。TFC目前的版本需要TensorFlow 2,你可以通过运行以下命令来安装:
python -m pip install tensorflow-compression
对于其它系统,如Windows,建议使用WSL2或Docker来安装Linux包。
实用案例
用户可以导入以下方式从Python代码中使用这个库:
import tensorflow as tf
import tensorflow_compression as tfc
并可以通过提供的预训练模型对图片进行压缩和解压。有关模型训练和数据集的具体细节和更多选项,可以参考相关代码和文档。
参与讨论和获得帮助
用户可以通过API文档了解全包中各类和函数的具体描述。遇到问题或有建议可以在项目的讨论社区中交流,只有实际的错误或功能请求应该通过“问题”进行提交。
引用
如果用于研究,建议在引用时使用如下格式:
@software{tfc_github,
author = "Ballé, Jona and Hwang, Sung Jin and Agustsson, Eirikur",
title = "{T}ensor{F}low {C}ompression: Learned Data Compression",
url = "http://github.com/tensorflow/compression",
version = "2.14.1",
year = "2024",
}