0

我正在查看 google-cloud Coursera 课程中的这些示例,尽管它们一直工作到几周前,但我无法再在 Datalab 上安装 tf.transform 或 apache_beam。

https://github.com/GoogleCloudPlatform/training-data-analyst/blob/master/courses/machine_learning/feateng/tftransform.ipynb

https://github.com/GoogleCloudPlatform/training-data-analyst/blob/master/courses/machine_learning/deepdive/06_structured/4_preproc_tft.ipynb

安装 tensorflow_transform 时出现以下错误:

%bash
pip install --upgrade --force tensorflow_transform==0.6.0 

twisted 18.7.0 需要 PyHamcrest>=1.9.0,未安装。datalab 1.1.3 有六个==1.10.0 的要求,但您将有六个不兼容的 1.11.0。gapic-google-cloud-pubsub-v1 0.15.4 要求 oauth2client<4.0dev,>=2.0.0,但您将拥有不兼容的 oauth2client 4.1.2。proto-google-cloud-pubsub-v1 0.15.4 要求 oauth2client<4.0dev,>=2.0.0,但您将拥有不兼容的 oauth2client 4.1.2。apache-airflow 1.9.0 需要漂白剂==2.1.2,但您将拥有不兼容的漂白剂 1.5.0。apache-airflow 1.9.0 有要求 funcsigs==1.0.0,但你会有不兼容的 funcsigs 1.0.2。google-cloud-monitoring 0.28.0 要求 google-cloud-core<0.29dev,>=0.28.0,但您需要 google-cloud-core 0.25。0 不兼容。proto-google-cloud-datastore-v1 0.90.4 要求 oauth2client<4.0dev,>=2.0.0,但您将拥有不兼容的 oauth2client 4.1.2。pandas-gbq 0.3.0 要求 google-cloud-bigquery>=0.28.0,但您将拥有不兼容的 google-cloud-bigquery 0.25.0。googledatastore 7.0.1 要求 httplib2<0.10,>=0.9.1,但您将拥有不兼容的 httplib2 0.11.3。googledatastore 7.0.1 要求 oauth2client<4.0.0,>=2.0.1,但您将拥有不兼容的 oauth2client 4.1.2。无法卸载“莳萝”。这是一个 distutils 安装的项目,因此我们无法准确确定哪些文件属于它,这只会导致部分卸载。0dev,>=2.0.0,但您将拥有不兼容的 oauth2client 4.1.2。pandas-gbq 0.3.0 要求 google-cloud-bigquery>=0.28.0,但您将拥有不兼容的 google-cloud-bigquery 0.25.0。googledatastore 7.0.1 要求 httplib2<0.10,>=0.9.1,但您将拥有不兼容的 httplib2 0.11.3。googledatastore 7.0.1 要求 oauth2client<4.0.0,>=2.0.1,但您将拥有不兼容的 oauth2client 4.1.2。无法卸载“莳萝”。这是一个 distutils 安装的项目,因此我们无法准确确定哪些文件属于它,这只会导致部分卸载。0dev,>=2.0.0,但您将拥有不兼容的 oauth2client 4.1.2。pandas-gbq 0.3.0 要求 google-cloud-bigquery>=0.28.0,但您将拥有不兼容的 google-cloud-bigquery 0.25.0。googledatastore 7.0.1 要求 httplib2<0.10,>=0.9.1,但您将拥有不兼容的 httplib2 0.11.3。googledatastore 7.0.1 要求 oauth2client<4.0.0,>=2.0.1,但您将拥有不兼容的 oauth2client 4.1.2。无法卸载“莳萝”。这是一个 distutils 安装的项目,因此我们无法准确确定哪些文件属于它,这只会导致部分卸载。会有不兼容的 google-cloud-bigquery 0.25.0。googledatastore 7.0.1 要求 httplib2<0.10,>=0.9.1,但您将拥有不兼容的 httplib2 0.11.3。googledatastore 7.0.1 要求 oauth2client<4.0.0,>=2.0.1,但您将拥有不兼容的 oauth2client 4.1.2。无法卸载“莳萝”。这是一个 distutils 安装的项目,因此我们无法准确确定哪些文件属于它,这只会导致部分卸载。会有不兼容的 google-cloud-bigquery 0.25.0。googledatastore 7.0.1 要求 httplib2<0.10,>=0.9.1,但您将拥有不兼容的 httplib2 0.11.3。googledatastore 7.0.1 要求 oauth2client<4.0.0,>=2.0.1,但您将拥有不兼容的 oauth2client 4.1.2。无法卸载“莳萝”。这是一个 distutils 安装的项目,因此我们无法准确确定哪些文件属于它,这只会导致部分卸载。

4

2 回答 2

2

我的 Datalab 实例上的 tensorflow 版本是 1.4。我必须添加这一行代码才能将 tensorflow 更新到 1.10.1

%bash
pip install --upgrade --force-reinstall pip==10.0.1
pip install tensorflow==1.10.1
pip install tensorflow_transform

我的环境:

apache-airflow==1.9.0
apache-beam==2.6.0
tensorflow==1.10.1
tensorflow-metadata==0.9.0
tensorflow-tensorboard==0.4.0rc3
tensorflow-transform==0.8.0
于 2018-09-08T00:22:15.343 回答
1

当前版本的 Datalab 使用 TensorFlow 1.8,因此请将有问题的笔记本单元格更改为:

%bash
pip uninstall -y google-cloud-dataflow
pip install --upgrade --force tensorflow_transform==0.8.0 apache-beam[gcp]

我已经更新并检查了上面链接的两个笔记本。

另一个问题可能是您使用的是 Python 2。Datalab 现在默认使用 Python 3,即使内核是 Python 2,您的 pip 安装(上图)也会发生在 Python 3 中,因为 %%bash 打开了一个新的 shell,其中 conda 激活Python 2 还没有发生。

要确保 pip 安装发生在 Python 2 中,请更改 apache-beam[gcp] 的 pip 安装,如下所示:

%%bash
source activate py2env
conda install -y dill pytz  # do this for all the distutils complaints 
pip uninstall -y google-cloud-dataflow
pip install --upgrade --force tensorflow_transform==0.8.0 apache-beam[gcp]
于 2018-08-28T22:26:49.183 回答