import os import streamlit as st from PIL import Image from tensorflow.keras.models import load_model from tensorflow.keras.preprocessing.image import load_img from tensorflow.keras.preprocessing.image import img_to_array # IMG_PATH = 'imgs' def main(): st.title("AI MNIST") file = st.file_uploader('画像をアップロードしてください.', type=['jpg', 'jpeg', 'png']) if file: st.markdown(f'{file.name} をアップロードしました.') img_path = os.path.join(file.name) # 画像を保存する with open(img_path, 'wb') as f: f.write(file.read()) # 保存した画像を表示 img = Image.open(img_path) st.image(img) # 画像をArray形式に変換 img = load_img(img_path, target_size=(28, 28), color_mode = 'grayscale') img_array = img_to_array(img) img_array = img_array.reshape((1, 28, 28)) img_array = img_array/255 # 保存したモデルを呼び出し model_path = os.path.join('model.h5') model = load_model(model_path) result = model.predict(img_array) prediction = result.argmax() st.text_area("これは:", prediction, height=20) if __name__ == '__main__': main()