'module'对象没有属性'feature_column'

时间:2017-06-28 20:45:51

标签: python python-2.7 tensorflow google-cloud-platform

我运行了Google的官方教程(link here)。它本地运行良好,但我被困在我需要在Google云平台上训练网络的部分。我在终端上运行了以下代码:

JOB_NAME=census_single_1
OUTPUT_PATH=gs://$BUCKET_NAME/$JOB_NAME
gcloud ml-engine jobs submit training $JOB_NAME \
--job-dir $OUTPUT_PATH \
--runtime-version 1.0 \
--module-name trainer.task \
--package-path trainer/ \
--region $REGION \
-- \
--train-files $TRAIN_DATA \
--eval-files $EVAL_DATA \
--train-steps 1000 \
--verbosity DEBUG

我收到以下错误消息:

  

“Traceback(最近一次调用最后一次):\ n文件   \ _ / usr / lib / python2.7 / runpy.py \“,第162行,在_run_module_as_main \ n中   \“ main \”,fname,loader,pkg_name)\ n文件   \ _ / usr / lib / python2.7 / runpy.py \“,第72行,在_run_code \ n exec代码中   在run_globals \ n文件中   \“/ root / .local / lib / python2.7 / site-packages / trainer / task.py \”,第4行,   在\ n导入模型\ n文件   \“/ root / .local / lib / python2.7 / site-packages / trainer / model.py \”,行   40,在\ n
  tf.feature_column.categorical_column_with_vocabulary_list(\ nAttributeError:   'module'对象没有属性'feature_column'\ n“

// 更新

没关系。我想到了。事实证明--runtime-version参数控制着Cloud ML运行时版本(link)。在教程中,它被指定为1.0,这对应于Tensorflow v 1.0.1,它没有tf.feature_column.*,因为它刚刚在2017年6月16日的Tensorflow v 1.2.0中引入

// 更新2

截至2017年6月29日,Google教程已更新为使用--runtime-version 1.2而不是--runtime-version 1.0。我不知道他们是否看过我的帖子但是在6月28日之间更改了Jun 29.该教程的未来用户不应该遇到同样的问题。

2 个答案:

答案 0 :(得分:4)

通过更新Google Cloud SDK也可能发生这种情况,在这种情况下,pip install --upgrade tensorflow应该可以胜任。

答案 1 :(得分:1)

我使用过时版本的tensorflow遇到了这个问题。将其更新到最新版本有帮助。