ydshieh
upload scripts
8d9306e
raw
history blame
1.34 kB
import streamlit as st
from PIL import Image
import numpy as np
# Designing the interface
st.title("French Image Caption App")
# For newline
st.write('\n')
image = Image.open('images/image.png')
show = st.image(image, use_column_width=True)
# show.image(image, 'Preloaded Image', use_column_width=True)
with st.spinner('Loading ViT-GPT2 model ...'):
from model import *
st.sidebar.write(f'Vit-GPT2 model loaded :)')
st.sidebar.title("Upload Image")
# Disabling warning
st.set_option('deprecation.showfileUploaderEncoding', False)
# Choose your own image
uploaded_file = st.sidebar.file_uploader(" ", type=['png', 'jpg', 'jpeg'])
if uploaded_file is not None:
image = Image.open(uploaded_file)
show.image(image, 'Uploaded Image', use_column_width=True)
# For newline
st.sidebar.write('\n')
if st.sidebar.button("Click here to get image caption"):
if uploaded_file is None:
st.sidebar.write("Please upload an Image to Classify")
else:
with st.spinner('Generating image caption ...'):
caption, tokens, token_ids = predict(image)
st.success(f'caption: {caption}')
st.success(f'tokens: {tokens}')
st.success(f'token ids: {token_ids}')
st.sidebar.header("ViT-GPT2 predicts:")
st.sidebar.write(f"caption: {caption}", '\n')