2

当我调用包含单个功能的ml.Preprocessa时,我收到以下错误:feature_setml.features.ImageFeatureColumn

AttributeError:“列表”对象没有属性“生产者”

我相信这是一个错误,它发生如下:

  • ml.Preprocess.apply来电AnalyzeData.apply
  • google.cloud.ml.features._analysis.py:108IdentityColumnAnalyzer图像列的 an 生成一个元数据对象,它是一个包含 dict 的单例列表
  • 这意味着analysis_list成为一个包含这个字典的单例列表的单例列表
  • google.cloud.ml.features._analysis.py:114,当analysis_list通过管道传输到时beam.Flatten(),输出是一个列表而不是 PCollection。
  • 这个输出是一个列表,稍后会导致问题

可以通过运行以下脚本来演示此错误:http: //pastebin.com/ECMt0wDC

仅当feature_set包含单个功能时才会发生这种情况。我认为这是因为当有多个特征时,analysis_list包含多个对象,其中至少一个是 PCollection,这会导致beam.Flatten正确生成 PCollection。此外,这种情况仅在单个特征是一个时才会发生,ImageFeatureColumn因为大多数(如果不是全部)其他特征类型不使用IdentityColumnAnalyzer.

顺便说一句,这是在 0.1.7-alpha 版本上google.cloud.ml

4

1 回答 1

0

请注意,我们对图像分类有更多开箱即用的功能(从问题来看,这听起来就像你在做的那样)。

这在 Cloud Datalab ( https://cloud.google.com/datalab ) 中可用,演示此功能的示例笔记本位于https://github.com/googledatalab/notebooks/blob/master/samples/ML%20Toolbox/ Image%20Classification/Flower/Local%20End%20to%20End.ipynb(这些笔记本会作为文档自动加载到 Datalab 中)。

希望对您的用例有所帮助!

于 2017-03-14T08:40:30.087 回答