为啥未定义 selectedimage?
Posted
技术标签:
【中文标题】为啥未定义 selectedimage?【英文标题】:Why is selectedimage not defined?为什么未定义 selectedimage? 【发布时间】:2020-05-12 11:36:06 【问题描述】:我一直试图确定为什么,当我运行程序时,它说所选图像未定义,而当我查看代码时似乎已定义。
有问题的错误是:
NameError: name 'selectedimage' is not defined
我正在使用 streamlit,一个在线 GUI 生成器。
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
【问题讨论】:
【参考方案1】:if 条件if st.sidebar.button("Identify"):
失败,所以selectedimage
没有被声明,所以你在selectedimage = np.array(selectedimage) / 255.0
行中遇到错误
如果您的if condition
正确,请检查st.sidebar.button("Identify")
的值。它将是False
【讨论】:
【参考方案2】:如果您的 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
【讨论】:
以上是关于为啥未定义 selectedimage?的主要内容,如果未能解决你的问题,请参考以下文章