Mục lục
- 1. ImportError: cannot import name ‘Undefined’ from ‘pydantic.fields’
- 2. TypeError: ‘NoneType’ object is not iterable
- 3. Webui báo lỗi Permission error … trong Terminal
- 4. Webui khởi động bị treo
- 5. Không thấy hiện models / loras / extensions …
- 6. Controlnet thiếu preprocessor / model …
- 7. Webui không truy cập được / báo lỗi Disconnect / báo lỗi ERR_CONNECTION_REFUSED / báo lỗi ERR_SSL_PROTOCOL_ERROR
- 8. Không login được vào SSH
- 9. CUDA out of memory
- 10. Webui khi chạy báo loading… mà chờ 2-3 phút vẫn chưa xong
- 11. Webui bị ngắt giữa chừng
1. ImportError: cannot import name ‘Undefined’ from ‘pydantic.fields’
Lỗi này thường gặp do cài đặt các extensions gây conflicts phiên bản các package Python của Forge (trong thư mục venv).
Để fix thì chỉ cần cài lại package đó (ở đây là package pydantic) cho phiên bản không bị conflict như sau:
source ~/webui/stable-diffusion-webui/venv/bin/activate # câu lệnh này để vào môi trường venv của Forge, có thể thay đổi đường dẫn cho phù hợp (nếu chưa đúng đường dẫn thư mục của Forge).
pip install pydantic==1.10.1
Nếu không được thì có thể thử:
source ~/webui/stable-diffusion-webui/venv/bin/activate
pip install albumentations==1.4.3
pip install pydantic==1.10.15
(Tham khảo thêm: https://www.reddit.com/r/Oobabooga/comments/16elrh4/help_getting_this_error_message_importerror/ )
2. TypeError: ‘NoneType’ object is not iterable
Lỗi này có thể do một trong các nguyên nhân:
-
Do hết dung lượng ổ cứng: kiểm tra bằng câu lệnh ” quota -s ” , nếu thấy vẫn còn trống thì kiểm tra nguyên nhân 2.
Dung lượng đang sử dụng là dung lượng ở dòng cuối cột space (cột thứ 2) như trong ảnh trên. Dung lượng cho phép là ở cột quota (cột thứ 3). Như trong ảnh là mới dùng tầm 90G / 100G nên chưa bị đầy. -
Do config khi chạy (controlnet, extensions…): có thể thử tắt bớt các thành phần controlnet, extensions… khi gen ảnh để biết cụ thể do cái gì.
- Khi lấy config của bên khác bằng cách dùng Png info thì hay bị, vì trên máy các bác có thể thiếu thành phần hoặc khác thành phần của bên kia. Vì vậy chỉ nên dùng PNG Info để xem cách người khác cấu hình, rồi tự cấu hình và copy prompt qua để biết mình cấu hình những gì. Không nên dùng tính năng send to text2img của PNG Info.
- Nếu lỡ dùng PNG Info import và bị lỗi config, có thể reset config bằng cách xóa hoặc đổi tên file config.json như hướng dẫn ở bên dưới.
- Dùng model và controlnet XL sẽ hay bị, vì trên XL chưa ổn định như 1.5.
- Kiểm tra xem đã chọn model controlnet chưa (model controlnet và model (checkpoints) là khác nhau).
- Kiểm tra tương thích giữa các thành phần với nhau (model, controlnet, VAE…).
- Nếu cần có thể đổi tên file config.json trong thư mục ~/webui/stable-diffusion-webui thành config.json.bak , sau đó tắt câu lệnh webui đi chạy lại để reset về setting mặc định của webui. Lưu ý: nhớ tắt câu lệnh bằng cách nhấn Ctrl C trong Terminal (chứ không chỉ tắt cửa sổ webui trên trình duyệt).
- Tham khảo thêm cách reset config của webui tại: https://sai.vn/insights/2024/05/15/cac-cau-lenh-va-luu-y-khi-dung-server-stable-diffusion/
- Khi lấy config của bên khác bằng cách dùng Png info thì hay bị, vì trên máy các bác có thể thiếu thành phần hoặc khác thành phần của bên kia. Vì vậy chỉ nên dùng PNG Info để xem cách người khác cấu hình, rồi tự cấu hình và copy prompt qua để biết mình cấu hình những gì. Không nên dùng tính năng send to text2img của PNG Info.
- Nếu lỗi này xảy ra khi vừa đổi 1 thông số hoặc thêm 1 thành phần khi chạy: Nhiều khả năng vấn đề nằm ở phần vừa thay đổi, cần tập trung kiểm tra phần đó xem có bị thiếu hay xung đột gì không (như trong mục bên trên) và có thể thử dùng những thành phần / extensions khác có tính năng tương đương.
- Nếu lỗi này đột ngột xảy ra mà không có config gì mới, vài phút sau chạy lại được, thì có thể do lúc đó bị thiếu RAM, hoặc do code của các thành phần đang sử dụng có cái không ổn định, có bug… Nếu điều này diễn ra thường xuyên gây ảnh hưởng đến việc sử dụng, có thể thử tắt bớt các thành phần khi chạy để xem nguyên nhân cụ thể do thành phần nào hoặc thử dùng các thành phần / extension khác, hoặc có thể liên hệ với Admin để check và hướng dẫn cách xử lý.
3. Webui báo lỗi Permission error … trong Terminal
- Lỗi này thường do thư mục tmp của webui hoặc controlnet trỏ vào thư mục chung, gây conflict. Có thể liên hệ với Admin để check và hướng dẫn cách xử lý.
4. Webui khởi động bị treo
- Vấn đề này có thể do webui đang cài đặt package (có trường hợp không hiển thị trong Terminal), có thể để đó tầm 1h xem webui có chạy cài đặt xong không (không tắt lệnh đi vì sẽ khiến cho việc cài đặt phải thực hiện lại từ đầu).
- Hoặc do conflict giữa các packages, thường gặp khi mới cài thêm extension. Nếu sau 1h vẫn bị treo, có thể liên hệ với Admin để check và hướng dẫn cách xử lý.
5. Không thấy hiện models / loras / extensions …
- Đầu tiên, nếu bác vừa tải lên thêm models / loras / extensions mới thì hãy chạy lại câu lệnh webui (tắt câu lệnh bằng cách nhấn Ctrl C trong Terminal (hoặc tắt Terminal) , rồi chạy lại câu lệnh). Nếu vẫn không thấy hiện thì check thêm:
- Lưu ý models / loras … phải tương thích, ví dụ khi bác chọn Model 1.5, thì những Loras, … XL sẽ không hiện lên webui (webui làm vậy cho một số thành phần để tránh việc bác chọn sai những thành phần không tương thích, sẽ gây lỗi khi chạy). Ngược lại khi bác chọn Model XL, thì những Loras, … 1.5 sẽ không hiện lên.
- Kiểm tra đuôi files của các models / loras …. : thường sẽ có đuôi .safetensors . Còn nếu bác thấy đuôi khác ví dụ như .safetensors.corrupt, hoặc .safetensors.part, hoặc .safetensors.1 … thì rất có khả năng file bác download về bị lỗi, cần download lại và so sánh dung lượng với file gốc để chắc chắn file down về không bị lỗi (nếu biết kiểm tra checksum là tốt nhất).
- Kiểm tra xem đã down về đúng thư mục chưa, ví dụ:
- Model (Checkpoint):
- /home/[tên user của bác]/webui/stable-diffusion-webui/models/Stable-diffusion
- Lora:
- /home/[tên user của bác]/webui/stable-diffusion-webui/models/Lora
- VAE:
- /home/[tên user của bác]/webui/stable-diffusion-webui/models/VAE
- ….
- Controlnet Model:
- /home/[tên user của bác]/webui/stable-diffusion-webui/models/ControlNet
- Extension:
- /home/[tên user của bác]/webui/stable-diffusion-webui/extensions
- Model (Checkpoint):
- Lưu ý: Sau khi tải files lên server, nên restart lại câu lệnh để webui nhận files mới. Cách restart tham khảo tại “Cách restart webui“.
- Tương tự, nếu cài extension mà không hiện thì cũng cần xem extension đó có tương thích với Forge không (ví dụ như Controlnet thì Forge có tích hợp sẵn version riêng chạy ổn định hơn nên không cài thêm extension Controlnet), một số extension có version riêng cho Forge, ví dụ:
- IC-Light: https://github.com/huchenlei/sd-forge-ic-light.git
- Deforum
- AnimatedDiff…
6. Controlnet thiếu preprocessor / model …
- Về model controlnet, bác có thể tải lên thêm model vào thư mục controlnet model như đã note bên trên ( /home/[tên user của bác]/webui/stable-diffusion-webui/models/ControlNet ).
- Nếu trên máy bác chưa có model controlnet bác cần, bác có thể vào đây để tải về máy: https://github.com/lllyasviel/stable-diffusion-webui-forge/wiki/ControlNet-model-download (rồi đưa lên server bằng SFTP, tham khảo “Cách tải files lên webui“ ).
- Lưu ý: Sau khi tải files lên server, nên restart lại câu lệnh để webui nhận files mới. Cách restart tham khảo tại “Cách restart webui“.
- Về controlnet preprocessor, trên Forge đã tích hợp sẵn khá đầy đủ các controlnet cần thiết. Lưu ý là phần đặt tên controlnet preprocessor IP Adapter của Forge đặt tên theo định dạng chuẩn của IP Adapter (khác so với a1111, theo lllyasviel (tác giả của ControlNet, Fooocus, IC-Light, Forge…) thì cách đặt tên trong Controlnet bản cũ của a1111 bị sai)
- Có thể xem tương ứng danh sách tên preprocessors của IP Adapter và chọn loại phù hợp như sau:
- Tham khảo thêm: https://github.com/lllyasviel/stable-diffusion-webui-forge/discussions/178#discussioncomment-8572388 . Trong link này cũng có các link down các model (file .safetensors) cần thiết (click chuột vào tên các IP Adapter trong danh sách sẽ download về được).
- Riêng preprocessor IP Adapter “auto” thì mới ra vào cuối tháng 3, hiện tại vẫn chưa ổn định. Mà nó cũng chỉ để chọn preprocessor thay cho mình nên không cần thiết lắm (mình tự chọn sẽ chính xác và ổn định hơn).
7. Webui không truy cập được / báo lỗi Disconnect / báo lỗi ERR_CONNECTION_REFUSED / báo lỗi ERR_SSL_PROTOCOL_ERROR
- Trước tiên, cần kiểm tra câu lệnh còn chạy trong Terminal không, nếu câu lệnh không chạy thì đương nhiên sẽ không truy cập được webui:
- Nếu thấy chữ “disconnected” ở Terminal như ảnh bên dưới, tức là Terminal này đã ngắt kết nối (do bị mất mạng, hoặc do máy vào chế độ sleep, hoặc bị đóng phần mềm SSH, bị logout SSH…), cần đóng Terminal này lại và mở 1 Terminal mới để chạy lệnh:
- Nếu thấy Terminal xuất hiện dấu nhắc lệnh (để nhập lệnh mới) như ảnh bên dưới, nghĩa là lệnh webui đã thoát và cần chạy lại câu lệnh:
- Việc thoát lệnh này có thể do webui xuất hiện lỗi hoặc do hệ thống tự đóng vào giờ đông người dùng, có thể tham khảo mục Webui bị ngắt giữa chừng bên dưới để nắm rõ hơn.
- Kiểm tra đường link trên trình duyệt đã nhập đúng link chưa. Nếu trên trình duyệt thấy báo lỗi: ERR_SSL_PROTOCOL_ERROR , nghĩa là bác đã nhập nhầm link thành https://… (đường link đúng là http://…)
- Có thể kiểm tra port xuất hiện trong Terminal (khi chạy lệnh webui) và port ở đường link trên trình duyệt đã đúng chưa. Kiểm tra lại cả IP trên trình duyệt cho chắc chắn đã điền đúng.
8. Không login được vào SSH
- Lỗi này thường do nhập hoặc copy sai thông tin đăng nhập (copy hoặc gõ username / password thừa dấu cách…). Cần kiểm tra lại thông tin đăng nhập đúng và nhập lại dúng thông tin.
- Nên lưu profile SSH vào để đỡ phải nhập đi nhập lại thông tin mà không gặp vấn đề trên. Tham khảo tại: cách lưu profile và cách đổi password.
9. CUDA out of memory
- Vấn đề này do hết memory, có thể kiểm tra bằng câu lệnh “
nvtop
” hoặc “checkstats
” để xem những ai đang dùng và còn trống bao nhiêu memory. - Thường dùng a1111 sẽ dễ gặp lỗi này, vì a1111 quản lý memory không tốt bằng forge, và có thể bị memory leak (memory cứ tăng dần lên cho đến khi không còn memory trống, mà không giải phóng được). Vì thế nên dùng bản Forge cho tối ưu mà lại nhanh hơn (tốc độ tăng 33% so với a1111).
- Nếu có đông người đang dùng (kiểm tra bằng câu lệnh “
nvtop
” hoặc “checkstats
“), có thể chờ 1 chút để lượng người dùng ít đi, lúc đó thử lại. Nếu ít người người dùng mà vẫn bị, có thể liên hệ với Admin để check và hướng dẫn cách xử lý.
10. Webui khi chạy báo loading… mà chờ 2-3 phút vẫn chưa xong
- Vấn đề này có thể do mạng internet của bác có vấn đề (bị nghẽn, chậm, bị chặn…) hoặc do trình duyệt cài adblock chặn 1 số thành phần…, có thể thử truy cập bằng điện thoại và dùng mạng internet khác (như 4G của điện thoại) để khoanh vùng nguyên nhân.
- Một số trường hợp có thể do dịch vụ gradio bị lỗi không load được, có thể bỏ đoạn –share trong file ~/run-forge.sh và thử lại.
- Nếu làm các cách vẫn không được, có thể liên hệ với Admin để được hỗ trợ.
11. Webui bị ngắt giữa chừng
- Thường webui bị ngắt là do có lỗi xuất hiện / hoặc do internet chập chờn / máy vào chế độ sleep / hoặc do hệ thống tự động ngắt nếu chạy liên tục > 1h vào giờ đông người dùng, hãy kiểm tra trong Terminal xem có báo lỗi gì không.
- Có thể kiểm tra xem lệnh webui còn hoạt động không như mục bên trên.
- Để tiết kiệm thời gian sử dụng và tránh lãng phí tài nguyên, hệ thống hiện tại có chức năng tự động đóng những webui chạy liên tục > 1h vào giờ đông người dùng (vào lúc 8h-18h hoặc 7h-23h, tùy từng server).
- Cách dùng hiệu quả là chủ động đóng lệnh webui hoặc Tắt Terminal khi đứng lên nghỉ giải lao (hết 1 session gen ảnh), khi cần thì bật lại lệnh đó và tiếp tục dùng trong 10s, sẽ không bị ngắt giữa chừng.
- Khi không gen hình nữa (nghỉ giải lao giữa giờ, đi ra ngoài, …) thì nên tắt câu lệnh webui bằng cách nhấn Ctrl C trong Terminal (hoặc đóng Terminal), hệ thống sẽ dừng tính thời gian ngay khi câu lệnh webui tắt đi. Khi cần chỉ bật mất 10s là lại sẵn sàng làm việc.
- Nên giữ lại tab webui trong trình duyệt để không phải gõ lại prompt, config (kể cả khi tắt đi lệnh webui trong Terminal). Tiết kiệm thời gian phải gõ lại prompt hoặc thiết đặt cho đúng ý.
- Tham khảo thêm cách sử dụng server tại: https://sai.vn/insights/2024/05/15/cac-cau-lenh-va-luu-y-khi-dung-server-stable-diffusion/