在Datalab上安装tensorflow_transform和apache_beam

时间:2018-08-28 18:18:54

标签: tensorflow google-cloud-platform apache-beam google-cloud-datalab tensorflow-transform

我正在研究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 

扭曲的18.7.0需要PyHamcrest> = 1.9.0,尚未安装。     datalab 1.1.3的要求为6 == 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具有要求bleach == 2.1.2,但是您将拥有不兼容的bleach 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安装的项目,因此我们无法准确确定属于该文件的文件,而这只会导致部分卸载。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

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

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

另一个问题可能是您正在使用Python2。默认情况下,Datalab现在使用Python 3,即使内核是Python 2,您的pip安装(如上)也会在Python 3中发生,因为%% bash打开了一个新的shell,尚未发生Python 2的conda激活。

要确保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]