| 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) |