File size: 11,295 Bytes
992a370
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
{
 "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/BanKaiPls/AsianModel/resolve/main/BRAV5finalfp16.safetensors\n",
    "https://huggingface.co/syaimu/7th_Layer/resolve/main/7th_anime_v3/7th_anime_v3_A.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/zemihr_v2.safetensors\n",
    "'''\n",
    "\n",
    "vae_urls = '''\n",
    "https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors\n",
    "'''\n",
    "\n",
    "lora_urls = '''\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/aliceNikke_v30.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/cuteGirlMix4_v10.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/epiNoiseoffset_v2.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/fashionGirl_v52.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/girlfriendmixV1_v20.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/gymtastic_v11.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/shojovibe_v11.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/spiderwoman_cosplay_outfit.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/volleyballUniform_v20Lora.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/hipoly3DModelLora_v20.safetensors\n",
    "'''\n",
    "\n",
    "embeding_urls = '''\n",
    "https://huggingface.co/nancho2/nancho_runpods/resolve/main/NG_DeepNegative_V1_75T.pt\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/bad_prompt_version2.pt\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/badhandv4.pt\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/easynegative.safetensors\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/pureerosface_v1.pt\n",
    "https://huggingface.co/eseutiblog/RunPod_database/resolve/main/ulzzang-6500-v1.1.bin\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",
    "https://github.com/nonnonstop/sd-webui-3d-open-pose-editor\n",
    "https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper.git\n",
    "https://github.com/Mikubill/sd-webui-controlnet\n",
    "https://github.com/hnmr293/sd-webui-cutoff\n",
    "https://github.com/DominikDoom/a1111-sd-webui-tagcomplete\n",
    "https://github.com/adieyal/sd-dynamic-prompts.git\n",
    "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding\n",
    "https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111\n",
    "https://github.com/vladmandic/sd-extension-system-info\n",
    "https://github.com/richrobber2/canvas-zoom\n",
    "https://github.com/kousw/stable-diffusion-webui-daam\n",
    "https://github.com/kohya-ss/sd-webui-additional-networks\n",
    "https://github.com/Bing-su/adetailer\n",
    "https://github.com/NeoGraph-K/sd-webui-ddsd\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)\n",
    "\n",
    "!pip install --upgrade ultralytics\n",
    "\n",
    "!pip3 install -U --pre dynamicprompts\n",
    "\n",
    "!pip install --upgrade segment_anything\n",
    "!pip install --upgrade mediapipe\n",
    "!pip install --upgrade pillow_lut\n",
    "\n",
    "!pip install git+https://github.com/facebookresearch/segment-anything.git\n",
    "!git clone https://github.com/IDEA-Research/GroundingDINO   %cd /content/GroundingDINO   !pip install -e .\n",
    "! pip install diffusers transformers accelerate scipy safetensors\n",
    "!pip install -e GroundingDINO\n",
    "!pip install --upgrade groundingdino\n",
    "!git clone https://github.com/IDEA-Research/GroundingDINO.git\n",
    "%cd GroundingDINO\n",
    "!pip install -e .\n",
    "%cd\n",
    "\n",
    "import os\n",
    "os.system(\"rm -rf lampp venv\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.10"
  },
  "vscode": {
   "interpreter": {
    "hash": "c36c8ff63afb68809d72fa6323bde02fb9b90fe01b492d36c13befd021790766"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}