Python 在Tensorflow中导出保存的模型时输入\u可选错误

Python 在Tensorflow中导出保存的模型时输入\u可选错误,python,machine-learning,tensorflow,Python,Machine Learning,Tensorflow,我有一个简单的线性模型,有两个稀疏和两个实值特征。我对它进行了培训,现在我想用export_saved模型导出它。参考了一些资料,我得出了如下结论: feature_spec = create_feature_spec_for_parsing( [ real_valued_column_1, real_valued_column_2, sparse_column_1, sparce_column_2 ] ) input_receiver_fn =

我有一个简单的线性模型,有两个稀疏和两个实值特征。我对它进行了培训,现在我想用export_saved模型导出它。参考了一些资料,我得出了如下结论:

feature_spec = create_feature_spec_for_parsing(
    [
        real_valued_column_1, real_valued_column_2,
        sparse_column_1, sparce_column_2
    ]
)
input_receiver_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec)
my_estimator.export_savedmodel('my_model/', serving_input_fn=input_receiver_fn)
其中:

real_valued_column_1 = tf.contrib.layers.real_valued_column(
    'avg_consumption_h')
sparse_column_1 = tf.contrib.layers.sparse_column_with_integerized_feature("sparse_1", bucket_size=24)
不幸的是,我得到了
ValueError:必须提供一个默认的输入选项。
on
export\u savedmodel
。我深入研究了tensorflow的代码库,似乎
build\u parsing\u serving\u input\u receiver\u fn
总是返回
servingingingputreceiver
,但如果传递到export\u saved模型的
serving\u input\u fn
不是该类型,则提取输入选项的方法总是将其创建为空
输入fnops

build\u parsing\u serving\u input\u receiver\u fn
是否被弃用,在提取输入的过程中是否出现了问题,或者可能我完全误解了过程并做了一些错误的事情


我使用的是Python3.6和tensorflow 1.2,我的模型是一个简单的
tf.contrib.learn.LinearRegressor
您可以尝试以下方法

from tensorflow.contrib.learn.python.learn.utils.input_fn_utils import build_parsing_serving_input_fn
input_receiver_fn = build_parsing_serving_input_fn(feature_spec)
谢谢,它很管用!尽管仍然指向cl0udburst使用的版本,但您能否给出更多提示,说明它的作用以及为什么不同?