Download app.py from clezcano/elevate: direct link, hf CLI and curl.
- Browser
- Download file 1.14 kB
-
https://huggingface.co/spaces/clezcano/elevate/resolve/main/app.py
- Command line
-
hf download hf://spaces/clezcano/elevate/app.py
-
curl -L -o app.py https://huggingface.co/spaces/clezcano/elevate/resolve/main/app.py
1.14 kB
| import streamlit as st | |
| import torch | |
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
| # Set up Streamlit | |
| st.title("Emotion Detection with Transformers") | |
| # Text input | |
| user_input = st.text_area("Enter your text:") | |
| # Function to load model and tokenizer using @st.cache_data | |
| def load_model_and_tokenizer(): | |
| model_name = "mrm8488/t5-base-finetuned-emotion" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForSeq2SeqLM.from_pretrained(model_name) | |
| return tokenizer, model | |
| tokenizer, model = load_model_and_tokenizer() | |
| # Function to analyze emotion | |
| def analyze_emotion(text): | |
| if text.strip() == "": | |
| return "Please enter some text to analyze." | |
| input_ids = tokenizer.encode(text + '</s>', return_tensors='pt') | |
| output = model.generate(input_ids=input_ids, | |
| max_length=2) | |
| dec = [tokenizer.decode(ids, skip_special_tokens=True) for ids in output] | |
| label = dec[0] | |
| return f"Emotion: {label.capitalize()}" | |
| # Analyze button | |
| if st.button("Analyze Emotion"): | |
| result = analyze_emotion(user_input) | |
| st.write(result) | |