无法使用 ktrain 模型预测前端流光,请提供有关如何为预测功能提供输入的建议

Posted

技术标签:

【中文标题】无法使用 ktrain 模型预测前端流光,请提供有关如何为预测功能提供输入的建议【英文标题】:Can not predict on Front end streamlit with ktrain model, kindly provide suggestions about how to provide input for predict function 【发布时间】:2021-08-05 12:12:07 【问题描述】:

无法在使用 ktrain 模型的前端 streamlit 上进行预测,请提供有关如何为预测功能提供输入的建议。

基本上我想了解如何为我保存的 ktrain 回归模型提供输入,以便我可以将其合并到简化的网络应用程序按钮中。

我已经尝试将数组、列表和数据框作为 .predict 函数中的参数,但似乎仍然缺少一些东西。在点击预测按钮时出现值错误。

import streamlit as st
from PIL import Image 
import pandas as pd
from tensorflow import keras
model = keras.models.load_model("predictor.h5")


st.write("This is an application to calculate Employee Mental Fatigue Score")
image = Image.open("IMG_2605.jpeg")
st.image(image, use_column_width=True)

WFH_Setup_Available = st.text_input("is work from home enabled for you?")
Designation =st.text_input("what is your designation?")
Average_hours_worked_per_day = st.text_input("how many hours you work on an average per day?")
Employee_satisfaction_score = st.text_input("Please enter your satisfaction score on scale of 10")
data = ['WFH_Setup_Available', 'Designation', 'Average_hours_worked_per_day' , 'Employee_satisfaction_score']


def mental_fatigue_score(WFH_Setup_Available, Designation, Average_hours_worked_per_day, Employee_satisfaction_score):
  prediction = model.predict([[WFH_Setup_Available, Designation, Average_hours_worked_per_day, Employee_satisfaction_score]])
  print(prediction)
  return prediction


if st.button("Predict"):
  result= mental_fatigue_score(WFH_Setup_Available, Designation, Average_hours_worked_per_day, Employee_satisfaction_score)
  st.success('The output is '.format(result))

请建议如何为 streamlit web 应用程序的 .predict 函数提供输入。 我已经使用 ktrain 回归器训练了预测器。

【问题讨论】:

我更正了我之前使用的内容,只需将 st.text_input 变量作为我的 .predict 的参数作为字符串列表,但得到相同的突出显示错误。猜测从 ktrain 预测时存在非常基本的错误。 我不知道您使用的是哪种型号。如果这是一个表格回归模型并且您直接使用 Keras,则必须以几种不同的特定方式(例如,生成器、Numpy 数组等)之一对输入进行格式化:tensorflow.org/api_docs/python/tf/keras/Model#predict 【参考方案1】:

通过将ktrain模型另存为自己解决了

predictor.save('predictor')
predictor = ktrain.load_predictor('predictor')

当我保存为预测器时,它会创建一个文件夹,其中有一个 tf_mode.h5tf_model.preproc

这比我预期的要容易。

进一步的火车输入应该是如下数据框-

data = 'WFH_Setup_Available':WFH_Setup_Available,'Designation':Designation, 'Company_Type':Company_Type, 
        'Average_hours_worked_per_day': Average_hours_worked_per_day, 'Employee_satisfaction_score': Employee_satisfaction_score

data = pd.DataFrame([data])

【讨论】:

以上是关于无法使用 ktrain 模型预测前端流光,请提供有关如何为预测功能提供输入的建议的主要内容,如果未能解决你的问题,请参考以下文章

流光显示时间序列的问题

如何再次微调一个bert微调模型

前端例程20221024:流光效果按钮

未腌制的张量流模型无法做出预测

即使使用训练数据,LIBSVM 也无法准确预测

ktrain ImportError: DLL load failed: 找不到指定的模块