我已经成功地为一些数据安装了一个TFTransformOutput (在本例中,是TF和TFX示例中常见的UCI普查数据集)。我尝试使用transform_raw_features(raw_features)方法应用转换器,但始终得到错误:
ValueError:节点'transform/transform/inputs/workclass_copy‘具有一个与输出#0的GraphDef不一致的_output_shapes属性:形状必须相等,但为0和1。
深入了解源代码,错误似乎起源于saved_transform_io中的_partially_apply_saved_transform_impl方法,同时执行:
saver = tf_saver.import_meta_graph(meta_graph_def, import_scope=import_scope,
input_map=input_map)我检查了TFX、TFTransform和Beam生成的TFTransform,并注意到该图形确实有一系列具有输入/输出秩差异的复制变量。然而,这并不是我所能控制的。
错误消息中的列是"workclass“,它是一个简单的分类列。我可能做错了什么?对此进行调试的最佳方法是什么?到目前为止,我已经深入研究了TF源代码,但是错误似乎起源于TFTransform图是如何编写的,不确定我需要更改/修复哪些杠杆。

这是使用TF转换v0.9和相应的TF v1.9
追溯(最近一次调用):文件"/home/sahmed/workspace/ml_playground/TFX-TFT/trainers.py",行449,在parse_csv transformed_stuff=xformer.transform_raw_features(raw_features) "/home/sahmed/miniconda3/envs/kml2/lib/python2.7/site-packages/tensorflow_transform/output_wrapper.py",第122行,在transform_raw_features self.transform_savedmodel_dir中,( "/home/sahmed/miniconda3/envs/kml2/lib/python2.7/site-packages/tensorflow_transform/saved/saved_transform_io.py",( raw_features))文件partially_apply_saved_transform_internal saved_model_dir,logical_input_map,tensor_replacement_map)文件行218,文件"/home/sahmed/miniconda3/envs/kml2/lib/python2.7/site-packages/tensorflow/python/training/saver.py",行1960,在import_meta_graph **kwargs中)文件"/home/sahmed/miniconda3/envs/kml2/lib/python2.7/site-packages/tensorflow/python/framework/meta_graph.py",行744,文件"/home/sahmed/miniconda3/envs/kml2/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py",行432中,在new_func返回函数(*args,**kwargs)中,文件"/home/sahmed/miniconda3/envs/kml2/lib/python2.7/site-packages/tensorflow/python/framework/importer.py",行422,在import_graph_def ValueError(str(e))中,ValueError:节点'transform/transform/inputs/workclass_copy‘具有一个_output_shapes属性,该属性与输出#0:形状必须相等的GraphDef不一致,但为0和1
发布于 2018-10-29 19:31:24
问题是,workclass张量的形状可能与transform_raw_features所期望的不兼容。
TFTransformOutput.transform_raw_features()期望这些特性具有与本例中类似于tft.AnalyzeDataset()的元数据描述的相同特征:example.py#L63
您能看一下在管道中使用的元数据,看看它是否与输入到TFTransformOutput.transform_raw_features()中的数据兼容吗?
https://stackoverflow.com/questions/52729769
复制相似问题