import streamlit as st from PIL import Image import numpy as np import io import time # Hugging Face Transformers specific imports from transformers import AutoModelForSequenceClassification, AutoTokenizer # Load pre-trained model and tokenizer model_name = "distilbert-base-uncased-finetuned-sst-2-english" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) def rotate_image(image, angle): """ Rotate the given PIL image by the given angle """ return image.rotate(angle, expand=True) def main(): st.title("Hugging Face Streamlit Example: Rotating Image") # Upload an image st.sidebar.title("Upload Image") uploaded_file = st.sidebar.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"]) # Rotation speed adjustment rotation_speed = st.sidebar.slider("Rotation Speed", min_value=0, max_value=360, value=10, step=1) if uploaded_file is not None: # Display the image image = Image.open(uploaded_file) st.image(image, caption="Uploaded Image", use_column_width=True) # Rotate the image at a constant speed st.write("Rotating image...") rotation_angle = 0 while True: rotated_image = rotate_image(image, rotation_angle) st.image(rotated_image, caption="Rotated Image", use_column_width=True) time.sleep(0.1) # Adjust rotation speed rotation_angle += rotation_speed rotation_angle %= 360 # Keep angle within 0-359 range if __name__ == "__main__": main()