TensorFlow数据预处理库
项目描述
TensorFlow Transform
TensorFlow Transform 是一个用于使用 TensorFlow 预处理数据的库。 tf.Transform
对需要完整遍历的数据非常有用,例如
- 通过均值和标准差归一化输入值。
- 通过在所有输入值上生成词汇表将字符串转换为整数。
- 根据观察到的数据分布将浮点数分配到桶中,将浮点数转换为整数。
TensorFlow 内置了对单个示例或示例批次的操作支持。 tf.Transform
扩展了这些功能,以支持对示例数据的完整遍历。
tf.Transform
的输出以TensorFlow图的形式导出,用于训练和部署。使用相同的图进行训练和部署可以防止偏差,因为两个阶段都应用了相同的转换。
有关tf.Transform
的介绍,请参阅TFX开发者峰会演讲中的tf.Transform
部分(链接)。
安装
推荐使用PyPI软件包来安装tf.Transform
。
pip install tensorflow-transform
从源代码构建TFT
要从源代码构建,请按照以下步骤操作:通过运行以下命令创建一个虚拟环境
python3 -m venv <virtualenv_name>
source <virtualenv_name>/bin/activate
pip3 install setuptools wheel
git clone https://github.com/tensorflow/transform.git
cd transform
python3 setup.py bdist_wheel
这将在dist目录中构建TFT轮。要从dist目录安装轮,请运行以下命令
cd dist
pip3 install tensorflow_transform-<version>-py3-none-any.whl
夜间软件包
TFT还在Google Cloud上的https://pypi-nightly.tensorflow.org托管夜间软件包。要安装最新的夜间软件包,请使用以下命令
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-transform
这将安装TFT的主要依赖项的夜间软件包,例如TensorFlow元数据(TFMD)、TFX基本共享库(TFX-BSL)。
显著依赖项
需要TensorFlow。
Apache Beam也是必需的;它是支持高效分布式计算的方式。默认情况下,Apache Beam以本地模式运行,但也可以使用Google Cloud Dataflow和其他Apache Beam 运行器以分布式模式运行。
Apache Arrow也是必需的。TFT使用Arrow在内部表示数据,以便利用向量化NumPy函数。
兼容版本
以下表格列出了彼此兼容的tf.Transform
软件包版本。这是由我们的测试框架确定的,但其他未经测试的组合也可能工作。
tensorflow-transform | apache-beam[gcp] | pyarrow | tensorflow | tensorflow-metadata | tfx-bsl |
---|---|---|---|---|---|
GitHub master | 2.47.0 | 10.0.0 | nightly (2.x) | 1.15.0 | 1.15.1 |
1.15.0 | 2.47.0 | 10.0.0 | 2.15 | 1.15.0 | 1.15.1 |
1.14.0 | 2.47.0 | 10.0.0 | 2.13 | 1.14.0 | 1.14.0 |
1.13.0 | 2.41.0 | 6.0.0 | 2.12 | 1.13.1 | 1.13.0 |
1.12.0 | 2.41.0 | 6.0.0 | 2.11 | 1.12.0 | 1.12.0 |
1.11.0 | 2.41.0 | 6.0.0 | 1.15.5 / 2.10 | 1.11.0 | 1.11.0 |
1.10.0 | 2.40.0 | 6.0.0 | 1.15.5 / 2.9 | 1.10.0 | 1.10.0 |
1.9.0 | 2.38.0 | 5.0.0 | 1.15.5 / 2.9 | 1.9.0 | 1.9.0 |
1.8.0 | 2.38.0 | 5.0.0 | 1.15.5 / 2.8 | 1.8.0 | 1.8.0 |
1.7.0 | 2.36.0 | 5.0.0 | 1.15.5 / 2.8 | 1.7.0 | 1.7.0 |
1.6.1 | 2.35.0 | 5.0.0 | 1.15.5 / 2.8 | 1.6.0 | 1.6.0 |
1.6.0 | 2.35.0 | 5.0.0 | 1.15.5 / 2.7 | 1.6.0 | 1.6.0 |
1.5.0 | 2.34.0 | 5.0.0 | 1.15.2 / 2.7 | 1.5.0 | 1.5.0 |
1.4.1 | 2.33.0 | 4.0.1 | 1.15.2 / 2.6 | 1.4.0 | 1.4.0 |
1.4.0 | 2.33.0 | 4.0.1 | 1.15.2 / 2.6 | 1.4.0 | 1.4.0 |
1.3.0 | 2.31.0 | 2.0.0 | 1.15.2 / 2.6 | 1.2.0 | 1.3.0 |
1.2.0 | 2.31.0 | 2.0.0 | 1.15.2 / 2.5 | 1.2.0 | 1.2.0 |
1.1.1 | 2.29.0 | 2.0.0 | 1.15.2 / 2.5 | 1.1.0 | 1.1.1 |
1.1.0 | 2.29.0 | 2.0.0 | 1.15.2 / 2.5 | 1.1.0 | 1.1.0 |
1.0.0 | 2.29.0 | 2.0.0 | 1.15 / 2.5 | 1.0.0 | 1.0.0 |
0.30.0 | 2.28.0 | 2.0.0 | 1.15 / 2.4 | 0.30.0 | 0.30.0 |
0.29.0 | 2.28.0 | 2.0.0 | 1.15 / 2.4 | 0.29.0 | 0.29.0 |
0.28.0 | 2.28.0 | 2.0.0 | 1.15 / 2.4 | 0.28.0 | 0.28.1 |
0.27.0 | 2.27.0 | 2.0.0 | 1.15 / 2.4 | 0.27.0 | 0.27.0 |
0.26.0 | 2.25.0 | 0.17.0 | 1.15 / 2.3 | 0.26.0 | 0.26.0 |
0.25.0 | 2.25.0 | 0.17.0 | 1.15 / 2.3 | 0.25.0 | 0.25.0 |
0.24.1 | 2.24.0 | 0.17.0 | 1.15 / 2.3 | 0.24.0 | 0.24.1 |
0.24.0 | 2.23.0 | 0.17.0 | 1.15 / 2.3 | 0.24.0 | 0.24.0 |
0.23.0 | 2.23.0 | 0.17.0 | 1.15 / 2.3 | 0.23.0 | 0.23.0 |
0.22.0 | 2.20.0 | 0.16.0 | 1.15 / 2.2 | 0.22.0 | 0.22.0 |
0.21.2 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.3 |
0.21.0 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.0 |
0.15.0 | 2.16.0 | 0.14.0 | 1.15 / 2.0 | 0.15.0 | 0.15.0 |
0.14.0 | 2.14.0 | 0.14.0 | 1.14 | 0.14.0 | n/a |
0.13.0 | 2.11.0 | n/a | 1.13 | 0.12.1 | n/a |
0.12.0 | 2.10.0 | n/a | 1.12 | 0.12.0 | n/a |
0.11.0 | 2.8.0 | n/a | 1.11 | 0.9.0 | n/a |
0.9.0 | 2.6.0 | n/a | 1.9 | 0.9.0 | n/a |
0.8.0 | 2.5.0 | n/a | 1.8 | n/a | n/a |
0.6.0 | 2.4.0 | n/a | 1.6 | n/a | n/a |
0.5.0 | 2.3.0 | n/a | 1.5 | n/a | n/a |
0.4.0 | 2.2.0 | n/a | 1.4 | n/a | n/a |
0.3.1 | 2.1.1 | n/a | 1.3 | n/a | n/a |
0.3.0 | 2.1.1 | n/a | 1.3 | n/a | n/a |
0.1.10 | 2.0.0 | n/a | 1.0 | n/a | n/a |
问题
请将有关使用tf.Transform
的问题直接发布到Stack Overflow,并使用tensorflow-transform标签。