Last active
February 8, 2023 16:28
-
-
Save ouor/26c9e0867a344dbf49e18974ce6a8b75 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "41c4f308-b68a-46b3-8ae7-1c7d46c981e4", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"--2023-02-06 09:16:04-- https://huggingface.co/syaimu/7th_Layer/resolve/main/7th_anime_v3/7th_anime_v3_A.safetensors\n", | |
"Resolving huggingface.co (huggingface.co)... 3.231.67.228, 54.235.118.239, 2600:1f18:147f:e800:671:b733:ecf3:a585, ...\n", | |
"Connecting to huggingface.co (huggingface.co)|3.231.67.228|:443... connected.\n", | |
"HTTP request sent, awaiting response... 302 Found\n", | |
"Location: https://cdn-lfs.huggingface.co/repos/0c/8c/0c8c3a139a854a317f227f1f1c2f695f4e7f15fa728359e39f1b6085d4c23d36/c330a60ddcb49c61109dbd7c28cf326733dadb77984c6e8d162bdc200a05df9e?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%277th_anime_v3_A.safetensors%3B+filename%3D%227th_anime_v3_A.safetensors%22%3B&Expires=1675933915&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzBjLzhjLzBjOGMzYTEzOWE4NTRhMzE3ZjIyN2YxZjFjMmY2OTVmNGU3ZjE1ZmE3MjgzNTllMzlmMWI2MDg1ZDRjMjNkMzYvYzMzMGE2MGRkY2I0OWM2MTEwOWRiZDdjMjhjZjMyNjczM2RhZGI3Nzk4NGM2ZThkMTYyYmRjMjAwYTA1ZGY5ZT9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPSoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NzU5MzM5MTV9fX1dfQ__&Signature=WLQ4Kifv-3QwBHonSdrZOx7Ef0Z0iyV6danwso-DE2jaEj7JckLyYtMjhTLbjAHhULHsx-MZTrqnWFweXxg2%7E0Qg0zKwcA-UNYGcsPisO8jr2CHLkWvEhcB53cBZhSYktnzOKHt75M837DG6-IyDePIYjlSLcYRTQRRPWM3WrQB2GkRGUVdo6tfOW4wOBld%7ELB2FE--NIABzhm0WJoCQ-%7E23QYayFAn%7ELB5yZJvbBTcKiJmljZg8BRhwVrEsIWjVdRrna4yl3TXe6Dv-qCjJvtu%7Eit9BehWAjmhCCN1jsiowo51UcOeElvGuVz9gs-c4XAOv8ZH2GBYzPkNHvsBFAg__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n", | |
"--2023-02-06 09:16:05-- https://cdn-lfs.huggingface.co/repos/0c/8c/0c8c3a139a854a317f227f1f1c2f695f4e7f15fa728359e39f1b6085d4c23d36/c330a60ddcb49c61109dbd7c28cf326733dadb77984c6e8d162bdc200a05df9e?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%277th_anime_v3_A.safetensors%3B+filename%3D%227th_anime_v3_A.safetensors%22%3B&Expires=1675933915&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzBjLzhjLzBjOGMzYTEzOWE4NTRhMzE3ZjIyN2YxZjFjMmY2OTVmNGU3ZjE1ZmE3MjgzNTllMzlmMWI2MDg1ZDRjMjNkMzYvYzMzMGE2MGRkY2I0OWM2MTEwOWRiZDdjMjhjZjMyNjczM2RhZGI3Nzk4NGM2ZThkMTYyYmRjMjAwYTA1ZGY5ZT9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPSoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NzU5MzM5MTV9fX1dfQ__&Signature=WLQ4Kifv-3QwBHonSdrZOx7Ef0Z0iyV6danwso-DE2jaEj7JckLyYtMjhTLbjAHhULHsx-MZTrqnWFweXxg2%7E0Qg0zKwcA-UNYGcsPisO8jr2CHLkWvEhcB53cBZhSYktnzOKHt75M837DG6-IyDePIYjlSLcYRTQRRPWM3WrQB2GkRGUVdo6tfOW4wOBld%7ELB2FE--NIABzhm0WJoCQ-%7E23QYayFAn%7ELB5yZJvbBTcKiJmljZg8BRhwVrEsIWjVdRrna4yl3TXe6Dv-qCjJvtu%7Eit9BehWAjmhCCN1jsiowo51UcOeElvGuVz9gs-c4XAOv8ZH2GBYzPkNHvsBFAg__&Key-Pair-Id=KVTP0A1DKRTAX\n", | |
"Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 99.86.63.67, 99.86.63.91, 99.86.63.37, ...\n", | |
"Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|99.86.63.67|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 4265096689 (4.0G) [binary/octet-stream]\n", | |
"Saving to: ‘/workspace/stable-diffusion-webui/models/Stable-diffusion/7th_anime_v3_A.safetensors’\n", | |
"\n", | |
"7th_anime_v3_A.safe 100%[===================>] 3.97G 189MB/s in 23s \n", | |
"\n", | |
"2023-02-06 09:16:28 (174 MB/s) - ‘/workspace/stable-diffusion-webui/models/Stable-diffusion/7th_anime_v3_A.safetensors’ saved [4265096689/4265096689]\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"# ------------------------------------------------\n", | |
"# 다운로드할 모델의 URL\n", | |
"model_urls = '''\n", | |
"https://huggingface.co/syaimu/7th_Layer/resolve/main/7th_anime_v3/7th_anime_v3_A.safetensors\n", | |
"https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors\n", | |
"https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.0-pruned-fp16.safetensors\n", | |
"'''\n", | |
"\n", | |
"vae_urls = '''\n", | |
"https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt\n", | |
"'''\n", | |
"\n", | |
"# 기본 프롬프트\n", | |
"positive = 'masterpiece, best quality, '\n", | |
"negative = 'lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, bad_prompt'\n", | |
"\n", | |
"# 설치할 확장 기능\n", | |
"extensions = '''\n", | |
"https://github.com/DominikDoom/a1111-sd-webui-tagcomplete\n", | |
"https://github.com/adieyal/sd-dynamic-prompts\n", | |
"https://github.com/36DB/stable-diffusion-webui-localization-ko_KR\n", | |
"https://github.com/toriato/stable-diffusion-webui-wd14-tagger\n", | |
"'''\n", | |
"# ------------------------------------------------\n", | |
"\n", | |
"import os\n", | |
"import json\n", | |
"import shutil\n", | |
"\n", | |
"home_dir = os.getcwd()\n", | |
"repo_dir = os.path.join(home_dir, 'stable-diffusion-webui')\n", | |
"os.chdir(repo_dir)\n", | |
"\n", | |
"# 원래 있는 sd 모델 삭제\n", | |
"for i in [x for x in os.listdir(home_dir) if x.endswith('.ckpt')]:\n", | |
" os.remove(os.path.join(home_dir, i))\n", | |
"\n", | |
"# 모델 다운로드\n", | |
"models_dir = os.path.join(repo_dir, 'models', 'Stable-diffusion')\n", | |
"for i in [x.strip() for x in model_urls.split('\\n') if x]:\n", | |
" ! wget {i} -P {models_dir}\n", | |
"\n", | |
"# vae 다운로드\n", | |
"vae_dir = os.path.join(repo_dir, 'models', 'VAE')\n", | |
"for i in [x.strip() for x in vae_urls.split('\\n') if x]:\n", | |
" ! wget {i} -P {vae_dir}\n", | |
"\n", | |
"# ui-config.json 백업\n", | |
"ui_conf_path = os.path.join(repo_dir, 'ui-config.json')\n", | |
"ui_conf_bk_path = os.path.join(repo_dir, 'ui-config_bk.json')\n", | |
"if not os.path.exists(ui_conf_bk_path):\n", | |
" shutil.copy(ui_conf_path, ui_conf_bk_path)\n", | |
"with open(ui_conf_path, 'r', encoding='utf-8') as f:\n", | |
" orig_ui = json.load(f)\n", | |
" ur_ui = orig_ui\n", | |
"\n", | |
"# ui-config.json 수정\n", | |
"ur_ui['txt2img/Prompt/value'] = positive\n", | |
"ur_ui['txt2img/Negative prompt/value'] = negative\n", | |
"\n", | |
"ur_ui['img2img/Prompt/value'] = positive\n", | |
"ur_ui['img2img/Negative prompt/value'] = negative\n", | |
"\n", | |
"# 파일 저장\n", | |
"with open(ui_conf_path, 'w', encoding='utf-8') as f:\n", | |
" json.dump(ur_ui, f, indent=4)\n", | |
"\n", | |
"# 필요한 확장 모듈 설치\n", | |
"ext_dir = os.path.join(repo_dir, 'extensions')\n", | |
"os.chdir(ext_dir)\n", | |
"for i in [x.strip() for x in extensions.split('\\n') if x]:\n", | |
" ! git clone {i}\n", | |
"os.chdir(home_dir)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.10.8" | |
}, | |
"vscode": { | |
"interpreter": { | |
"hash": "c36c8ff63afb68809d72fa6323bde02fb9b90fe01b492d36c13befd021790766" | |
} | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment