eseutiblog commited on
Commit
41fcedb
1 Parent(s): 8dc12ec

Upload 추가 설치 통합.ipynb

Browse files
Files changed (1) hide show
  1. 추가 설치 통합.ipynb +156 -0
추가 설치 통합.ipynb ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 3,
6
+ "id": "41c4f308-b68a-46b3-8ae7-1c7d46c981e4",
7
+ "metadata": {},
8
+ "outputs": [
9
+ {
10
+ "name": "stdout",
11
+ "output_type": "stream",
12
+ "text": [
13
+ "--2023-02-06 09:16:04-- https://huggingface.co/syaimu/7th_Layer/resolve/main/7th_anime_v3/7th_anime_v3_A.safetensors\n",
14
+ "Resolving huggingface.co (huggingface.co)... 3.231.67.228, 54.235.118.239, 2600:1f18:147f:e800:671:b733:ecf3:a585, ...\n",
15
+ "Connecting to huggingface.co (huggingface.co)|3.231.67.228|:443... connected.\n",
16
+ "HTTP request sent, awaiting response... 302 Found\n",
17
+ "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",
18
+ "--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",
19
+ "Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 99.86.63.67, 99.86.63.91, 99.86.63.37, ...\n",
20
+ "Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|99.86.63.67|:443... connected.\n",
21
+ "HTTP request sent, awaiting response... 200 OK\n",
22
+ "Length: 4265096689 (4.0G) [binary/octet-stream]\n",
23
+ "Saving to: ‘/workspace/stable-diffusion-webui/models/Stable-diffusion/7th_anime_v3_A.safetensors’\n",
24
+ "\n",
25
+ "7th_anime_v3_A.safe 100%[===================>] 3.97G 189MB/s in 23s \n",
26
+ "\n",
27
+ "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",
28
+ "\n"
29
+ ]
30
+ }
31
+ ],
32
+ "source": [
33
+ "# ------------------------------------------------\n",
34
+ "# 다운로드할 모델의 URL\n",
35
+ "model_urls = '''\n",
36
+ "다운받을 모델 링크를 여기에 넣어주세요.\n",
37
+ "'''\n",
38
+ "\n",
39
+ "vae_urls = '''\n",
40
+ "다운받을 vae 링크를 여기에 넣어주세요.\n",
41
+ "'''\n",
42
+ "\n",
43
+ "lora_urls = '''\n",
44
+ "다운받을 lora링크를 여기에 넣어주세요.\n",
45
+ "'''\n",
46
+ "\n",
47
+ "embeding_urls = '''\n",
48
+ "다운받을 embeding 링크를 여기에 넣어주세요.\n",
49
+ "'''\n",
50
+ "\n",
51
+ "controlnet_urls = '''\n",
52
+ "'''\n",
53
+ "\n",
54
+ "# 기본 프롬프트\n",
55
+ "positive = 'masterpiece, best quality, highres, 1girl, '\n",
56
+ "negative = '(worst quality:1.9), (low quality:1.9), (normal quality:1.9), lowres, (infant, loli:1.5), '\n",
57
+ "\n",
58
+ "# 설치할 확장 기능\n",
59
+ "extensions = '''\n",
60
+ "설치할 확장링크를 넣어주세요. 확장은 WEB UI 내에서 받으시는 것을 추천드립니다.\n",
61
+ "'''\n",
62
+ "# ------------------------------------------------\n",
63
+ "\n",
64
+ "import os\n",
65
+ "import json\n",
66
+ "import shutil\n",
67
+ "\n",
68
+ "home_dir = os.getcwd()\n",
69
+ "repo_dir = os.path.join(home_dir, 'stable-diffusion-webui')\n",
70
+ "os.chdir(repo_dir)\n",
71
+ "\n",
72
+ "# 원래 있는 sd 모델 삭제\n",
73
+ "for i in [x for x in os.listdir(home_dir) if x.endswith('.ckpt')]:\n",
74
+ " os.remove(os.path.join(home_dir, i))\n",
75
+ "\n",
76
+ "# 모델 다운로드\n",
77
+ "models_dir = os.path.join(repo_dir, 'models', 'Stable-diffusion')\n",
78
+ "for i in [x.strip() for x in model_urls.split('\\n') if x]:\n",
79
+ " ! wget {i} -P {models_dir}\n",
80
+ "\n",
81
+ "# vae 다운로드\n",
82
+ "vae_dir = os.path.join(repo_dir, 'models', 'VAE')\n",
83
+ "for i in [x.strip() for x in vae_urls.split('\\n') if x]:\n",
84
+ " ! wget {i} -P {vae_dir}\n",
85
+ "\n",
86
+ "# lora 다운로드\n",
87
+ "lora_dir = os.path.join(repo_dir, 'models', 'Lora')\n",
88
+ "for i in [x.strip() for x in lora_urls.split('\\n') if x]:\n",
89
+ " ! wget {i} -P {lora_dir}\n",
90
+ "\n",
91
+ "# embeding 다운로드\n",
92
+ "embeding_dir = os.path.join(repo_dir, 'embeddings')\n",
93
+ "for i in [x.strip() for x in embeding_urls.split('\\n') if x]:\n",
94
+ " ! wget {i} -P {embeding_dir}\n",
95
+ "\n",
96
+ "# controlnet 다운로드\n",
97
+ "controlnet_dir = os.path.join(repo_dir, 'extensions', 'sd-webui-controlnet', 'models')\n",
98
+ "for i in [x.strip() for x in controlnet_urls.split('\\n') if x]:\n",
99
+ " ! wget {i} -P {controlnet_dir}\n",
100
+ "\n",
101
+ "# ui-config.json 백업\n",
102
+ "ui_conf_path = os.path.join(repo_dir, 'ui-config.json')\n",
103
+ "ui_conf_bk_path = os.path.join(repo_dir, 'ui-config_bk.json')\n",
104
+ "if not os.path.exists(ui_conf_bk_path):\n",
105
+ " shutil.copy(ui_conf_path, ui_conf_bk_path)\n",
106
+ "with open(ui_conf_path, 'r', encoding='utf-8') as f:\n",
107
+ " orig_ui = json.load(f)\n",
108
+ " ur_ui = orig_ui\n",
109
+ "\n",
110
+ "# ui-config.json 수정\n",
111
+ "ur_ui['txt2img/Prompt/value'] = positive\n",
112
+ "ur_ui['txt2img/Negative prompt/value'] = negative\n",
113
+ "\n",
114
+ "ur_ui['img2img/Prompt/value'] = positive\n",
115
+ "ur_ui['img2img/Negative prompt/value'] = negative\n",
116
+ "\n",
117
+ "# 파일 저장\n",
118
+ "with open(ui_conf_path, 'w', encoding='utf-8') as f:\n",
119
+ " json.dump(ur_ui, f, indent=4)\n",
120
+ "\n",
121
+ "# 필요한 확장 모듈 설치\n",
122
+ "ext_dir = os.path.join(repo_dir, 'extensions')\n",
123
+ "os.chdir(ext_dir)\n",
124
+ "for i in [x.strip() for x in extensions.split('\\n') if x]:\n",
125
+ " ! git clone {i}\n",
126
+ "os.chdir(home_dir)"
127
+ ]
128
+ }
129
+ ],
130
+ "metadata": {
131
+ "kernelspec": {
132
+ "display_name": "Python 3",
133
+ "language": "python",
134
+ "name": "python3"
135
+ },
136
+ "language_info": {
137
+ "codemirror_mode": {
138
+ "name": "ipython",
139
+ "version": 3
140
+ },
141
+ "file_extension": ".py",
142
+ "mimetype": "text/x-python",
143
+ "name": "python",
144
+ "nbconvert_exporter": "python",
145
+ "pygments_lexer": "ipython3",
146
+ "version": "3.10.8"
147
+ },
148
+ "vscode": {
149
+ "interpreter": {
150
+ "hash": "c36c8ff63afb68809d72fa6323bde02fb9b90fe01b492d36c13befd021790766"
151
+ }
152
+ }
153
+ },
154
+ "nbformat": 4,
155
+ "nbformat_minor": 5
156
+ }