For those wondering how to upload a pre-trained keras model to a streamlit app, this might save you an afternoon of googling:
import zipfile
import tempfile
stream = st.file_uploader('TF.Keras model file (.h5py.zip)', type='zip')
if stream is not None:
myzipfile = zipfile.ZipFile(stream)
with tempfile.TemporaryDirectory() as tmp_dir:
myzipfile.extractall(tmp_dir)
root_folder = myzipfile.namelist()[0] # e.g. "model.h5py"
model_dir = os.path.join(tmp_dir, root_folder)
#st.info(f'trying to load model from tmp dir {model_dir}...')
model = tf.keras.models.load_model(model_dir)