Spaces:
Runtime error
Runtime error
import os, sys, pdb | |
import torch, torchvision | |
from huggingface_hub import hf_hub_url, cached_download, hf_hub_download, HfApi | |
import joblib | |
from pathlib import Path | |
import json | |
import requests | |
import random | |
""" | |
Returns the list of directions currently available in the HF library | |
""" | |
def get_all_directions_names(): | |
hf_api = HfApi() | |
info = hf_api.list_models(author="pix2pix-zero-library") | |
l_model_ids = [m.modelId for m in info] | |
l_model_ids = [m for m in l_model_ids if "_sd14" in m] | |
l_edit_names = [m.split("/")[-1] for m in l_model_ids] | |
# l_edit_names = [m for m in l_edit_names if "_sd14" in m] | |
# pdb.set_trace() | |
l_desc = [hf_hub_download(repo_id=m_id, filename="short_description.txt") for m_id in l_model_ids] | |
d_name2desc = {k: open(m).read() for k,m in zip(l_edit_names, l_desc)} | |
return d_name2desc | |
def get_emb(dir_name): | |
REPO_ID = f"pix2pix-zero-library/{dir_name.replace('.pt','')}" | |
if "_sd14" not in REPO_ID: REPO_ID += "_sd14" | |
FILENAME = dir_name | |
if "_sd14" not in FILENAME: FILENAME += "_sd14" | |
if ".pt" not in FILENAME: FILENAME += ".pt" | |
ret = hf_hub_download(repo_id=REPO_ID, filename=FILENAME) | |
return torch.load(ret) | |
def generate_image_prompts_with_templates(word): | |
prompts = [] | |
adjectives = ['majestic', 'cute', 'colorful', 'ferocious', 'elegant', 'graceful', 'slimy', 'adorable', 'scary', 'fuzzy', 'tiny', 'gigantic', 'brave', 'fierce', 'mysterious', 'curious', 'fascinating', 'charming', 'gleaming', 'rare'] | |
verbs = ['strolling', 'jumping', 'lounging', 'flying', 'sleeping', 'eating', 'playing', 'working', 'gazing', 'standing'] | |
adverbs = ['gracefully', 'playfully', 'elegantly', 'fiercely', 'curiously', 'fascinatingly', 'charmingly', 'gently', 'slowly', 'quickly', 'awkwardly', 'carelessly', 'cautiously', 'innocently', 'powerfully', 'grumpily', 'mysteriously'] | |
backgrounds = ['a sunny beach', 'a bustling city', 'a quiet forest', 'a cozy living room', 'a futuristic space station', 'a medieval castle', 'an enchanted forest', 'a misty graveyard', 'a snowy mountain peak', 'a crowded market'] | |
sentence_structures = { | |
"subject verb background": lambda word, bg, verb, adj, adv: f"A {word} {verb} {bg}.", | |
"background subject verb": lambda word, bg, verb, adj, adv: f"{bg}, a {word} is {verb}.", | |
"adjective subject verb background": lambda word, bg, verb, adj, adv: f"A {adj} {word} is {verb} {bg}.", | |
"subject verb adverb background": lambda word, bg, verb, adj, adv: f"A {word} is {verb} {adv} {bg}.", | |
"adverb subject verb background": lambda word, bg, verb, adj, adv: f"{adv.capitalize()}, a {word} is {verb} {bg}.", | |
"background adjective subject verb": lambda word, bg, verb, adj, adv: f"{bg}, there is a {adj} {word} {verb}.", | |
"subject verb adjective background": lambda word, bg, verb, adj, adv: f"A {word} {verb} {adj} {bg}.", | |
"adjective subject verb": lambda word, bg, verb, adj, adv: f"A {adj} {word} is {verb}.", | |
"subject adjective verb background": lambda word, bg, verb, adj, adv: f"A {word} is {adj} and {verb} {bg}.", | |
} | |
sentences = [] | |
for bg in backgrounds: | |
for verb in verbs: | |
for adj in adjectives: | |
adv = random.choice(adverbs) | |
sentence = f"A {adv} {adj} {word} {verb} on {bg}." | |
sentence_structure = random.choice(list(sentence_structures.keys())) | |
sentence = sentence_structures[sentence_structure](word, bg, verb, adj, adv) | |
sentences.append(sentence) | |
return sentences | |
if __name__=="__main__": | |
print(get_all_directions_names()) | |
# print(get_emb("dog_sd14.pt").shape) | |
# print(get_emb("dog").shape) | |
# print(generate_image_prompts("dog")[0:5]) | |