无法保存包含DNNRegressor估计量的张量流模型

时间:2020-09-17 14:39:02

标签: python tensorflow machine-learning

我是机器学习的初学者,我有一个小疑问!

我一直在研究机器学习代码,其中我使用tensorflow预测未来值。现在,该代码使用最初实现一次热编码的数据集,然后合并OHE列并创建estimator函数。对于估计器模型,我使用了DNN回归器。代码中的任何地方都没有使用Keras。

model=tf.estimator.DNNRegressor(hidden_units=[100,100,100],feature_columns=feature_columns,
                                optimizer=tf.optimizers.Adam(learning_rate=0.01),
                                activation_fn=tf.nn.relu )

现在,我尝试使用Pickle进行保存。但是,出现此错误:

AttributeError: Can't pickle local object 'DNNRegressorV2.__init__.<locals>._model_fn'

我使用joblib尝试了相同的操作,但是出现了以下问题:

PicklingError: Can't pickle <function DNNRegressorV2.__init__.<locals>._model_fn at 0x00000175F1A0E948>: it's not found as tensorflow_estimator.python.estimator.canned.dnn.DNNRegressorV2.__init__.<locals>._model_fn

在此之后,我尝试了这段代码

tf.keras.models.save_model( model, filepath, overwrite=True, 
                            include_optimizer=True, save_format=None,  signatures=None, options=None )

但是我得到了错误:

AttributeError: 'DNNRegressorV2' object has no attribute 'built'

我还尝试了其他方法,例如model.save(),model.to_json(),还尝试使用API​​保存-没有一个可行的方法。

有人可以帮我吗?

0 个答案:

没有答案