import gradio as gr import numpy as np import paddlehub as hub import torch from huggingface_hub import hf_hub_download from transformers import pipeline from PIL import Image myTitle = "🎹 Mol mer e Bild ! đŸ‡±đŸ‡ș" myDescription = "### ZĂ«nter dem 20 November 2022 ass den Baidu Model net mĂ©i frĂ€i zougĂ€nglech. DĂ«s Demo fonctionĂ©iert duerfir net mĂ©i an huet nĂ«mmen nach en historeschen WĂ€ert.
Beschreif an e puer Wierder wéi ee Bild de chineeseschen AI-Model ERNIE-ViLG Dir soll molen. Probéier richteg Lëtzebuergesch ze schreiwen fir Iwwersetzungsfeeler ze reduzéieren. Du kanns Dir vum Spellchecker oder LOD dobÀi hëllefen loossen. Vill Spaass!" myArticle = "

Informatiounen iwwert d'Text2Image Technologie.

Bild-Generatoren op Basis vun neuronalen Netzer sinn sÀit e puer Wochen e vill diskutéiert Thema. Dës AI-Modeller goufen mat Milliounen Fotoen a Biller aus dem Internet trainéiert. Dorënner befannen sech och Biller vun Konschtwierker déi vun WebsÀiten vun Kënschtler an Konschtgalerien erofgelueden goufen. Vill Artisten sinn der Meenung dass mat AI generéiert Biller Déifstall a Plagiat sinn a si hunn der AI-Communautéit de Krich erklÀert.

Déi bekanntsten Text2Image Modeller sinn DALL-E2 vun OpenAI, Imagen vun Google, Stable Diffusion vun CompVis/Stability.ai souwéi Craiyon (DALL-E mini) an Midjourney vun onofhÀngege Entwéckler. Manner bekannt an Europa sinn déi chineesesch Modeller ERNIE-ViLG vun Baidu an Cog2View vun der Universitéit Tsinghua.

Well de Code vum Stable Diffusion Model open-source ass goufen an de leschten Deeg eng Hellewull vun WebsÀiten an Apps mat deem Model realiséiert. Domat kann elo JÀnni a MÀnni fir e puer Euro honnerte vun impressionnante Konschtwierker generéieren. Et brauch een nëmmen eng Beschreiwung (als Text oder Sprooch) engem AI-Programm matzedeelen. Eleng am AppStore vun Apple fënnt een net manner wéi 24 Apps fir mam iPhone Biller duerch Text ze generéieren.

De Baidu Model ass am Moment deen eenzege deen et erlaabt eng frÀi zougÀnglech Demo-Applikatioun ze programméieren. Dat erklÀert firwat mÀin Projet op dësem Model baséiert. Trotz engem performanten Serveur am Hannergrond dauert d'Generatioun vun engem Bild awer ongeféier 90 Sekonnen.

Fir d'Iwwersetzung vun der lëtzebuergescher Beschreiwung op chineesesch benotzen ech den AI-Model NLLB vu Facebook. Als Kontroll maachen ech eng Réckiwwersetzung vun chineesesch op englesch, well verschidde Begrëffer falsch iwwersat ginn : aus Krokodil gëtt e Fësch, aus Giraff en Hirsch, aus Hues e Puppy, aus Cleopatra e Bouf mam Numm Cleobatra asw.

Et muss een bei der Beschreiwung vun sengem Wonsch-Bild och beuechten dass verschidde Begrëffer an China zenséiert ginn, wéi komescherweis d'Wuert Hond. Ausserdeem spigelen déi generéiert Biller déi chineesesch Kultur erëm.

Hei sinn e puer Beispiller vun Biller (mat den Beschreiwungen), déi ech mat dëser Demo generéiert hunn.

KonschtwierkBeschreiwungStilRĂ©ckiwwersetzung
E Panda fiert um VeloAquarella panda riding a bike
Eng Giraff fiert um VeloAquarellA deer riding a bicycle
(Iwwersetzungsproblem)
Zwee lÀchelnd MeedercherAquarelltwo smiling girls
Zwee lÀchelnd MeedercherUelechbildtwo smiling girls
Zwee Meedercher laachenCartoontwo girls laughing
DrÀi Kanner laachenUelechbildthree children laughing
DrÀi Jongen laachenCartoonthree boys laughing
Eng KaatzAquarellA cat
BlummenUelechbildflowers
En Hues leeft am BëschD'Onendlechkeet exploréierena puppy in the woods
(Iwwersetzungproblem)
CleopatraUelechbildThe film is about a young boy named Cleobatra
(Iwwersetzungsproblem)
chinesĂ«sch Iwwersetzung : ć…‹ćˆ©ć„„ć·Žç‰č拉
" # model_ernie = hub.Module(name="ernie_vilg") model_nllb = "facebook/nllb-200-distilled-600M" translator = pipeline("translation", model=model_nllb) IMAGE_STYLES = [ "Aquarell", "Uelegbild", #"Molerei", # parameter error "Cartoon", # "BlĂ€istĂ«ftzeechnung", # parameter error # "Kannermolerei", # parameter error "d'Onendlechkeet explorĂ©ieren" ] myInputs = [ gr.Textbox(label="Beschreiwung"), gr.Radio(label="Molerei Stiler", choices = IMAGE_STYLES, value = "Uelegbild"), ] myOutputs = [ # gr.Gallery(label="Konschtwierker", type="pil"), # ::: jpegImageFile is not iterable error when topk=1 # gr.Image(label="Konschtwierk", type="pil"), # ::: jpegImageFile is not iterable error when topk>1 gr.Textbox(label="Iwwersetzungen") ] def create(prompt, style): chinese_translation = translator(prompt, src_lang="ltz_Latn", tgt_lang="zho_Hans") if style == "Aquarell": ernie_style = 'æ°Žćœ©' elif style == "Uelegbild": ernie_style = 'æČč画' # elif style == "Molerei": # ernie_style = 'çȉ珔画' elif style == "Cartoon": ernie_style = '捡通' # elif style == "BlĂ€istĂ«ftzeechnung": # ernie_style = 'èœĄçŹ”ç”»' # elif style == "Kannermolerei": # ernie_style = 'ć„żç«„ç”»' elif style == "d'Onendlechkeet explorĂ©ieren": ernie_style = 'æŽąçŽąæ— é™' else: ernie_style = 'æ°Žćœ©' """ try: artworks = model_ernie.generate_image( text_prompts = chinese_translation[0]['translation_text'], style = ernie_style, topk = 1, visualization=False ) except Exception as e: error_text=str(e) error = translator(error_text, src_lang="zho_Hans", tgt_lang="ltz_Latn") warnung = "Feeler! : " + str(error[0]['translation_text']) return None, warnung """ english_back_translation = translator(chinese_translation[0]['translation_text'], src_lang="zho_Hans", tgt_lang="eng_Latn") translation = "chinesĂ«sch Iwwersetzung : " + str(chinese_translation[0]['translation_text']) + " ; englesch RĂ©ckiwwersetzung : " + str(english_back_translation[0]['translation_text']) # print(artworks) # print(artworks[0]) return translation # return artworks[0], translation demo = gr.Interface( fn=create, inputs=myInputs, outputs=myOutputs, title=myTitle, description=myDescription, article = myArticle ) demo.launch()