Bom dia!
Estou na 'Disponibilizando aplicação' com o seguinte código que foi feito seguindo as instruções da aula:
import streamlit as st import gdown import tensorflow as tf import io from PIL import Image import numpy as np import pandas as pd import plotly.express as px
@st.cache_resource def carrega_modelo(): #https://drive.google.com/file/d/1gZuGBQXzMlgeVoUszXxSb1H9Tg_6pRzt/view?usp=drive_link url = 'https://drive.google.com/uc?id=1gZuGBQXzMlgeVoUszXxSb1H9Tg_6pRzt'
gdown.download(url, 'modelo_quantizado16bits.tflite')
interpreter = tf.lite.Interpreter(model_path='modelo_quantizado16bits.tflite')
interpreter.allocate_tensors()
return interpreter
def carrega_imagem(): upload_file = st.file_uploader('Arraste e solte uma imagem de uma folha de videira', type=['png', 'jpg', 'jpeg'])
if upload_file is not None:
image_data = upload_file.read()
image = Image.open(io.BytesIO(image_data))
#Exibirá a imagem:
st.image(image)
st.success('Imagem foi carregada com sucesso')
image = np.array(image, dtype=np.float32)
image = image / 255.0
image = np.expand_dims(image,axis=0)
return image
def previsao(interpreter, image): input_details = interpreter.get_input_details() output_details = interpreter.get_output_details()
interpreter.set_tensor(input_details[0]['index'], image)
interpreter.invoke()
output_data = interpreter.get_tensor(output_details[0]['index'])
classes = ['BlackMeasles', 'BlackRot', 'HealthyGrapes', 'LeafBlight']
df = pd.DataFrame()
df['classes'] = classes
df['probabilidades (%)'] = 100*output_data[0]
fig = px.bar(df,y='classes',x='probabilidades (%)', orientation='h', text='probabilidades (%)', title='Probabilidade de Classes de Doenças em Uvas')
st.plotly_chart(fig)
def main():
st.set_page_config(
page_title='Classifica folhas de videira'
)
st.write('# Classifica folhas de videira')
#Carrega modelo:
interpreter = carrega_modelo()
#Carrega Imagem:
image = carrega_imagem()
#Classifica:
if image is not None:
previsao(interpreter, image)
if name == 'main': main()
Mas estou recebendo o seguinte erro:
ModuleNotFoundError: This app has encountered an error. The original error message is redacted to prevent data leaks. Full error details have been recorded in the logs (if you're on Streamlit Cloud, click on 'Manage app' in the lower right of your app). Traceback: File "/home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptrunner/exec_code.py", line 88, in exec_func_with_error_handling result = func() ^^^^^^ File "/home/adminuser/venv/lib/python3.12/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 579, in code_to_exec exec(code, module.dict) File "/mount/src/classificacao_uvas/app.py", line 2, in import gdown
Poderiam me ajudar a resolver esse problema?
Eu tentei com o método requests e o problema com o gdown foi resolvido mas ai a mesma mensagem apareceu para a biblioteca do tensorflow.