我正在为狗的品种分类器创建一个简单的shiny应用程序。用户可以上传狗的图片,然后让shiny应用程序显示预测的品种。
应用程序代码的简化版本如下:
from shiny import App, Inputs, Outputs, Session, reactive, render, ui
import keras
import tensorflow as tf
import numpy as np
import pickle
app_ui = ui.page_fluid(
ui.input_file("dog_pic", "Upload your dog picture!", accept=[".jpeg"], multiple=False),
ui.output_text("txt")
)
def server(input, output, session):
# PROCESSING IMAGE:
@reactive.Calc
def parsed_file():
image = tf.keras.preprocessing.image.load_img(input.dog_pic, target_size=(224, 224))
input_arr = tf.keras.preprocessing.image.img_to_array(image)
input_arr = np.array([input_arr])
input_arr = input_arr.astype('float32') / 255.
return input_arr
# PARSING IMAGE THROUGH TO MODEL
@output
@render.text
def txt():
model = tf.keras.models.load_model('model')
dog_prediction = model.predict(parsed_file())
return f"Predicted dog breed is {dog_prediction}!"
app = App(app_ui, server)
字符串
我得到的错误是:x1c 0d1x
这是什么意思?谢谢!
1条答案
按热度按时间hgc7kmma1#
你的函数
parsed_file()
和txt()
会在你启动shiny应用程序时被调用。但那时你的文件还没有加载。你必须添加类似“如果文件可用,那么."的内容。