0%

20230123 Stable Diffusion 製圖初體驗

20230123 Stable Diffusion 製圖初體驗

Stable Diffusion 製圖成果

組合一

  • 使用模型: mdjrny-v4.ckpt from openjourney

  • 提詞與指令:

1
python optimizedSD/optimized_txt2img.py --prompt "wide-angle-split-photography of a ship inside of a bottle on the ocean, stormy, electrifying" --H 512 --W 512 --seed 27 --n_iter 1 --ddim_steps 50
  • 成果

11
12
13
14
15

組合二

  • 使用模型: mdjrny-v4.ckpt from openjourney

  • 提詞與指令:

1
python optimizedSD/optimized_txt2img.py --prompt "prompt "the magical gorgeous epic glam metal perfect sphere" --H 512 --W 512 --seed 27 --n_iter 1 --ddim_steps 50
  • 成果

21
22
23
24
25

製圖環境說明

顯示卡

1
2
3
4
- NVIDIA GeForce RTX 3070 Laptop GPU
- CUDA: Build cuda_11.8.r11.8/compiler.31833905_0 (cuda_11.8.0_522.06_windows.exe)
- cuDNN: cuDNN v8.6.0 (October 3rd, 2022), for CUDA 11.x (cudnn-windows-x86_64-8.7.0.84_cuda11-archive.zip)
- zlibwapi.dll: zlib123dllx64.zip

參考資訊

Win10 安裝 CUDA、cuDNN 教學

1
nvcc -V

作業系統及軟體環境

  • Windows 10 家用版 22H2
  • Python-3.10.8-amd64.exe
  • Miniconda Python 3.10

安裝過程

依照 How To Run Stable Diffusion Locally 操作,並解決以下問題

問題1

1
conda env create -f environment.yaml
1
2
3
4
5
Downloading and Extracting Packages
pytorch-1.11.0 | 1.23 GB | ###########################################################################9 | 100%
WARNING conda.gateways.disk.delete:unlink_or_rename_to_trash(140): Could not remove or rename C:\ProgramData\miniconda3\pkgs\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0\Lib\site-packages\torch\lib\torch_cuda_cu.dll. Please remove this file manually (you may need to reboot to free file handles)
...
InvalidArchiveError("Error with archive C:\\ProgramData\\miniconda3\\pkgs\\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0.tar.bz2. You probably need to delete and re-download or re-create this file. Message from libarchive was:\n\nfailed with error: [Errno 13] Permission denied: 'C:\\\\ProgramData\\\\miniconda3\\\\pkgs\\\\pytorch-1.11.0-py3.8_cuda11.3_cudnn8_0\\\\Lib\\\\site-packages\\\\torch\\\\lib\\\\torch_cuda_cu.dll'")

此問題無需特別解決,似乎只是檔案因權限問題無法刪除

問題2

第一次執行

1
conda activate ldm
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
Global seed set to 27
Loading model from models/ldm/stable-diffusion-v1/model.ckpt
Global Step: 470000
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
making attention of type 'vanilla' with 512 in_channels
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
making attention of type 'vanilla' with 512 in_channels
Downloading: "https://github.com/DagnyT/hardnet/raw/master/pretrained/train_liberty_with_aug/checkpoint_liberty_with_aug.pth" to C:\Users\HUNGCHIA/.cache\torch\hub\checkpoints\checkpoint_liberty_with_aug.pth
1%|▊ | 32.0k/5.10M [00:00<00:13, 383kB/s]
Traceback (most recent call last):
File "scripts/txt2img.py", line 279, in <module>
main()
File "scripts/txt2img.py", line 188, in main
model = load_model_from_config(config, f"{opt.ckpt}")
File "scripts/txt2img.py", line 31, in load_model_from_config
model = instantiate_from_config(config.model)
File "d:\stable diffusion\stable-diffusion-main\ldm\util.py", line 85, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "d:\stable diffusion\stable-diffusion-main\ldm\models\diffusion\ddpm.py", line 461, in __init__
self.instantiate_cond_stage(cond_stage_config)
File "d:\stable diffusion\stable-diffusion-main\ldm\models\diffusion\ddpm.py", line 519, in instantiate_cond_stage
model = instantiate_from_config(config)
File "d:\stable diffusion\stable-diffusion-main\ldm\util.py", line 85, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "d:\stable diffusion\stable-diffusion-main\ldm\util.py", line 93, in get_obj_from_str
return getattr(importlib.import_module(module, package=None), cls)
File "C:\ProgramData\miniconda3\envs\ldm\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "d:\stable diffusion\stable-diffusion-main\ldm\modules\encoders\modules.py", line 7, in <module>
import kornia
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\__init__.py", line 10, in <module>
from . import (
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\augmentation\__init__.py", line 43, in <module>
from .container import AugmentationSequential, ImageSequential, PatchSequential, VideoSequential
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\augmentation\container\__init__.py", line 1, in <module>
from .augment import AugmentationSequential
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\augmentation\container\augment.py", line 17, in <module>
from .patch import PatchSequential
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\augmentation\container\patch.py", line 9, in <module>
from kornia.contrib.extract_patches import extract_tensor_patches
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\contrib\__init__.py", line 4, in <module>
from .image_stitching import ImageStitcher
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\contrib\image_stitching.py", line 7, in <module>
from kornia.feature import LocalFeatureMatcher, LoFTR
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\feature\__init__.py", line 4, in <module>
from .integrated import (
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\feature\integrated.py", line 52, in <module>
class LAFDescriptor(nn.Module):
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\feature\integrated.py", line 65, in LAFDescriptor
patch_descriptor_module: nn.Module = HardNet(True),
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\kornia\feature\hardnet.py", line 66, in __init__
pretrained_dict = torch.hub.load_state_dict_from_url(
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\torch\hub.py", line 591, in load_state_dict_from_url
download_url_to_file(url, cached_file, hash_prefix, progress=progress)
File "C:\ProgramData\miniconda3\envs\ldm\lib\site-packages\torch\hub.py", line 479, in download_url_to_file
buffer = u.read(8192)
File "C:\ProgramData\miniconda3\envs\ldm\lib\http\client.py", line 458, in read
n = self.readinto(b)
File "C:\ProgramData\miniconda3\envs\ldm\lib\http\client.py", line 502, in readinto
n = self.fp.readinto(b)
File "C:\ProgramData\miniconda3\envs\ldm\lib\socket.py", line 669, in readinto
return self._sock.recv_into(b)
File "C:\ProgramData\miniconda3\envs\ldm\lib\ssl.py", line 1241, in recv_into
return self.read(nbytes, buffer)
File "C:\ProgramData\miniconda3\envs\ldm\lib\ssl.py", line 1099, in read
return self._sslobj.read(len, buffer)
ConnectionResetError: [WinError 10054] 遠端主機已強制關閉一個現存的連線。

解決方式: 直接手動下載 checkpoint_liberty_with_aug.pth
並複製到 log 中所提到的資料夾
C:\Users\HUNGCHIA/.cache\torch\hub\checkpoints\checkpoint_liberty_with_aug.pth
然後再重新執行一次即可

備忘的指令

安裝完畢後,每次依下列步驟執行

切換至 D:

1
cd D:\Stable Diffusion\stable-diffusion-main
1
conda activate ldm
1
(ldm) D:\Stable Diffusion\stable-diffusion-main>python optimizedSD/optimized_txt2img.py --prompt "wide-angle-split-photography of a ship inside of a bottle on the ocean, stormy, electrifying" --H 512 --W 512 --seed 27 --n_iter 1 --ddim_steps 50

ldm

其他未整理的參考資料

Midjourney

Community Showcase - Top
Community Showcase - Recent

文章

RE:【心得】(NSFW) AI 色圖製作體驗 + 關鍵字
繪圖AI - Stable Diffusion 相關教學與參考資源 202301 update

連結

下載 cuda_12.0.0_527.41_windows.exe
https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_527.41_windows.exe

下載 sd-v1-4.ckpt
https://huggingface.co/models

下載 stable-diffusion-main.zip
https://codeload.github.com/basujindal/stable-diffusion/zip/refs/heads/main

Python 3.10.8 - Oct. 11, 2022
https://www.python.org/ftp/python/3.10.8/python-3.10.8-amd64.exe

Miniconda Python 3.10
https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Windows-x86_64.exe

CUDA、cuDNN
https://developer.nvidia.com/cuda-toolkit-archive
https://developer.nvidia.com/rdp/cudnn-archive

YT

超強的AI作畫教程!免費開源,本地安裝、包教會使用! Stable Diffusion | 零度解說

超簡單AI繪圖Stable diffusion本機安裝&中文化教學

ChatGPT提詞代勞AI繪圖Stable diffusion提詞篇&圖片畫質大提升教學