问题描述
我正在尝试为input_fn
和eval_spec
的{{1}}参数创建一个通用函数,以传递给train_spec
和tf.estimator.EvalSpec
(对于TFX管道)。当前input_fn如下所示:
tf.estimator.TrainSpec
但是,我收到以下错误消息(带有def input_Feeder_fn(filenames,tf_transform_graph,batch_size,target_keys):
transformed_feature_spec = tf_transform_graph.transformed_feature_spec()
dataset = tf.data.experimental.make_batched_features_dataset(
filenames,transformed_feature_spec,reader=gzip_reader_fn
)
transformed_features = tf.compat.v1.data.make_one_shot_iterator(dataset).get_next()
transformed_targets = [v for k,v in transformed_features.items() if k in target_keys]
return transformed_features,transformed_targets
和batch_size=64
):
标签形状不匹配。预期标签尺寸= 2。收到64。建议的解决方案:如果您的分类器希望使用单一编码标签,请检查estimator的n_classes参数和/或标签的形状。否则,请检查标签的形状。
这似乎是由len(target_keys=2
行引起的。如何正确格式化transformed_targets = ...
?它不接受transformed_targets
这样的字典,似乎必须是单个Tensor。 transformed_features
对于训练位似乎也可以正常工作,因为它在开始评估过程之前不会失败。我希望我的模型输出2个数值,而我正在使用的模型是input_fn
P.S:使用TFMA版本0.22.1。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)