File size: 7,953 Bytes
41fcedb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
{
"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",
"다운받을 모델 링크를 여기에 넣어주세요.\n",
"'''\n",
"\n",
"vae_urls = '''\n",
"다운받을 vae 링크를 여기에 넣어주세요.\n",
"'''\n",
"\n",
"lora_urls = '''\n",
"다운받을 lora링크를 여기에 넣어주세요.\n",
"'''\n",
"\n",
"embeding_urls = '''\n",
"다운받을 embeding 링크를 여기에 넣어주세요.\n",
"'''\n",
"\n",
"controlnet_urls = '''\n",
"'''\n",
"\n",
"# 기본 프롬프트\n",
"positive = 'masterpiece, best quality, highres, 1girl, '\n",
"negative = '(worst quality:1.9), (low quality:1.9), (normal quality:1.9), lowres, (infant, loli:1.5), '\n",
"\n",
"# 설치할 확장 기능\n",
"extensions = '''\n",
"설치할 확장링크를 넣어주세요. 확장은 WEB UI 내에서 받으시는 것을 추천드립니다.\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",
"# lora 다운로드\n",
"lora_dir = os.path.join(repo_dir, 'models', 'Lora')\n",
"for i in [x.strip() for x in lora_urls.split('\\n') if x]:\n",
" ! wget {i} -P {lora_dir}\n",
"\n",
"# embeding 다운로드\n",
"embeding_dir = os.path.join(repo_dir, 'embeddings')\n",
"for i in [x.strip() for x in embeding_urls.split('\\n') if x]:\n",
" ! wget {i} -P {embeding_dir}\n",
"\n",
"# controlnet 다운로드\n",
"controlnet_dir = os.path.join(repo_dir, 'extensions', 'sd-webui-controlnet', 'models')\n",
"for i in [x.strip() for x in controlnet_urls.split('\\n') if x]:\n",
" ! wget {i} -P {controlnet_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
}
|