【发布时间】:2021-04-23 09:58:34
【问题描述】:
我正在尝试使用线性分类器进行预测,这里列出了估计器的构造和训练:
model = tf.estimator.LinearClassifier(
n_classes = 2,
model_dir = "ongoing",
feature_columns = categorical_features + continuous_features
(
FEATURES = ['Age', 'Gender', 'ICD9Code']
LABEL = 'Condition'
def get_input_fn(data_set, num_epochs, n_batch, shuffle):
input = tf.compat.v1.estimator.inputs.pandas_input_fn(
x = pd.DataFrame({k: data_set[k].values for k in FEATURES}),
y = pd.Series(data_set[LABEL].values),
batch_size = n_batch,
num_epochs = num_epochs,
shuffle = shuffle
)
return input
model.train(
input_fn = get_input_fn(csv_data, num_epochs = None, n_batch = 10461, shuffle = False
),
steps = 1000
)
predict_data = pd.read_csv('feature_condition.csv', usecols = ['PatientGuid', 'Age', 'Gender', 'ICD9Code'], nrows = 5)
predict_input_fn = tf.estimator.inpus.numpy_input_fn(
x = {"x": predict_data},
y = None,
batch_size = 5,
shuffle = False,
num_threads = 5
)
predict_results = model.predict(predict_input_fn)
print(predict_results)
得到错误:
AttributeError: module 'tensorflow_estimator.python.estimator.api._v1.estimator' has no attribute 'inpus'
我的 tensorflow 版本是 2.4.1
你能帮我解决这个问题吗?谢了!
更新:我已经更正了拼写错误,并且该错误已得到修复,但我在此处列出了一个警告:
The name tf.estimator.inputs.numpy_input_fn is deprecated. Please use tf.compat.v1.estimator.inputs.numpy_input_fn instead.
使用建议的功能后,我得到了相同的警告:
The name tf.estimator.inputs.numpy_input_fn is deprecated. Please use tf.compat.v1.estimator.inputs.numpy_input_fn instead
这真的让我很困惑,你能帮忙解决它吗?谢了!
我在谷歌驱动器上传了我的完整代码,这是这里的链接: https://drive.google.com/file/d/1R6bRcv8Afjx4cPLBZaBpuCcDg71fNN3Y/view?usp=sharing
【问题讨论】:
-
你能把
tf.estimator.inpus.numpy_input_fn改成tf.estimator.inputs.numpy_input_fn试试吗?这是拼写错误。 -
我更正了这个错误并解决了错误,但出现了一个警告:'名称 tf.estimator.inputs.numpy_input_fn 已弃用。请改用 tf.compat.v1.estimator.inputs.numpy_input_fn。'当我使用这个建议的功能时,终端仍然显示相同的警告。你知道如何解决吗?谢了!
-
你能告诉我们警告信息吗?您能否分享独立代码来复制您的问题,以便我们尝试帮助您。
-
感谢您的建议,我在我的问题中添加了它,请看一下
-
你能重启你的内核再试一次吗?您的代码在此处未完成,无法复制该问题。如果你能提供完整的代码就很容易调试了。
标签: python tensorflow tensorflow-estimator