File size: 1,876 Bytes
1437058 391969d d550533 eea6ac5 d16c1e4 9fd10ba d7164de b4aa913 391969d b4aa913 391969d 9bdb949 391969d d7164de 4569162 5ca4bcd 391969d 9607ff2 b4aa913 c1732d5 391969d 4569162 67241c5 4569162 67241c5 391969d 4569162 67241c5 391969d 67241c5 391969d 4569162 391969d 9607ff2 d16c1e4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
import streamlit as st
from transformers import pipeline
from diffusers import StableDiffusionPipeline
import torch
@st.cache_resource
def load_all_models():
# Load Tamil β English translation model (with remote code)
translation_pipeline = pipeline(
"translation",
model="ai4bharat/indictrans2-indic-en-dist-200M",
tokenizer="ai4bharat/indictrans2-indic-en-dist-200M",
src_lang="ta", tgt_lang="en",
trust_remote_code=True, # π₯ Must add this
device=0 if torch.cuda.is_available() else -1,
)
# Load image generation model
img_pipe = StableDiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-2-1",
torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
revision="fp16" if torch.cuda.is_available() else None,
)
img_pipe = img_pipe.to("cuda" if torch.cuda.is_available() else "cpu")
return translation_pipeline, img_pipe
def main():
st.set_page_config(page_title="Tamil β English β Image", layout="centered")
st.title("π Tamil to English to Image Generator")
tamil_text = st.text_area("Enter Tamil text:", height=150)
if st.button("Generate Image"):
if not tamil_text.strip():
st.warning("Please enter Tamil text.")
return
with st.spinner("Loading models..."):
translation_pipeline, img_pipe = load_all_models()
with st.spinner("Translating Tamil to English..."):
translated = translation_pipeline(tamil_text)[0]["translation_text"]
st.success(f"π€ Translated English: `{translated}`")
with st.spinner("Generating image..."):
image = img_pipe(prompt=translated).images[0]
st.image(image, caption="π¨ AI-generated Image", use_column_width=True)
if __name__ == "__main__":
main()
|