Почему selectedimage не определен?

Я пытался установить, почему, когда я запускаю программу, она говорит, что выбранное изображение не определено, когда оно кажется определенным, когда я смотрю на код.

Рассматриваемая ошибка:

NameError: name 'selectedimage' is not defined

Я использую streamlit, онлайн-генератор графического интерфейса.

if st.sidebar.button("Identify"):
    selectedimage = "./AI_TESTING_DATA/" + imageselect
    selectedimage = Image.open(selectedimage).resize(IMAGE_SHAPE)

selectedimage = np.array(selectedimage) / 255.0

result = model.predict(selectedimage[np.newaxis, ...])

predicted_class = np.argmax(result[0], axis=-1)

labels_path = "./Product/labels.txt"
class_labels = np.array(open(labels_path).read().splitlines())

predicted_class_name = class_labels[predicted_class]

"It's a :" + predicted_class_name

2 ответа

Условие ifif st.sidebar.button("Identify"): терпит неудачу, поэтому selectedimage не объявляется, поэтому вы столкнулись с ошибкой в selectedimage = np.array(selectedimage) / 255.0 линия

Если твой if condition правильно, тогда проверьте значение st.sidebar.button("Identify"). Это будетFalse

Если ваше предложение if оценивается как False, тогда selectedimageбудет неопределенным. Похоже, вы, вероятно, захотите переместить всю остальную логику под это предложение if, поскольку все зависит от того, была ли нажата кнопка:

if st.sidebar.button("Identify"):
    selectedimage = "./AI_TESTING_DATA/" + imageselect
    selectedimage = Image.open(selectedimage).resize(IMAGE_SHAPE)

    selectedimage = np.array(selectedimage) / 255.0

    result = model.predict(selectedimage[np.newaxis, ...])

    predicted_class = np.argmax(result[0], axis=-1)

    labels_path = "./Product/labels.txt"
    class_labels = np.array(open(labels_path).read().splitlines())

    predicted_class_name = class_labels[predicted_class]

    "It's a :" + predicted_class_name
Другие вопросы по тегам