|
import random
|
|
import string
|
|
import os
|
|
|
|
import requests
|
|
from tqdm import tqdm
|
|
|
|
|
|
def randomname(n):
|
|
randlst = [random.choice(string.ascii_letters + string.digits) for i in range(n)]
|
|
return ''.join(randlst)
|
|
|
|
def load_cn_model(model_dir):
|
|
folder = model_dir
|
|
file_name = 'diffusion_pytorch_model.safetensors'
|
|
url = "https://huggingface.co/kataragi/ControlNet-LineartXL/resolve/main/Katarag_lineartXL-fp16.safetensors"
|
|
|
|
file_path = os.path.join(folder, file_name)
|
|
if not os.path.exists(file_path):
|
|
response = requests.get(url, stream=True)
|
|
|
|
total_size = int(response.headers.get('content-length', 0))
|
|
with open(file_path, 'wb') as f, tqdm(
|
|
desc=file_name,
|
|
total=total_size,
|
|
unit='iB',
|
|
unit_scale=True,
|
|
unit_divisor=1024,
|
|
) as bar:
|
|
for data in response.iter_content(chunk_size=1024):
|
|
size = f.write(data)
|
|
bar.update(size)
|
|
|
|
def load_cn_config(model_dir):
|
|
folder = model_dir
|
|
file_name = 'config.json'
|
|
url = "https://huggingface.co/mattyamonaca/controlnet_line2line_xl/resolve/main/config.json"
|
|
|
|
file_path = os.path.join(folder, file_name)
|
|
if not os.path.exists(file_path):
|
|
response = requests.get(url, stream=True)
|
|
|
|
total_size = int(response.headers.get('content-length', 0))
|
|
with open(file_path, 'wb') as f, tqdm(
|
|
desc=file_name,
|
|
total=total_size,
|
|
unit='iB',
|
|
unit_scale=True,
|
|
unit_divisor=1024,
|
|
) as bar:
|
|
for data in response.iter_content(chunk_size=1024):
|
|
size = f.write(data)
|
|
bar.update(size) |