我使用以下代码来创建对新数据的预测:
def predict(dfeval, importedModel):
colNames = dfeval.columns
dtypes = dfeval.dtypes
predictions = []
for row in dfeval.iterrows():
example = tf.train.Example()
for i in range(len(colNames)):
dtype = dtypes[i]
colName = colNames[i]
value = row[1][colName]
if dtype == "object":
value = bytes(value, "utf-8")
example.features.feature[colName].bytes_list.value.extend(
[value])
elif dtype == "float":
example.features.feature[colName].float_list.value.extend(
[value])
elif dtype == "int":
example.features.feature[colName].int64_list.value.extend(
[value])
predictions.append(
importedModel.signatures["predict"](
examples=tf.constant([example.SerializeToString()])))
return predictions
val = predict(dfeval, imported)
val
提供:
[{"预测":& lt; tf。张量:shape=(1,1), dtype=float32, numpy=array([[0.24904668]], dtype=float32)>}]
然后我可以打印这个值:
tf.print(val)
[{"预测":[[0.249046683]]}]
但是我想在以后的计算中使用该值,例如:
val + 300
我想要返回的值:
300.249046683
但到目前为止,我找不到一种方法来提取和使用预测。
你可以这样做:
val[0]['predictions'][0][0]