huggingface / huggingface/diffusers
create_dynamic_module infinite recursion when setting HF_HOME using relative path
- Ngôn ngữ chính
- Python
- Star
- 34.5k
- Fork
- 7.3k
- Merge trung bình
- 3 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 91
Mô tả
### Describe the bug
create_dynamic_module infinite recursion when setting HF_HOME using relative path
### Reproduction
```py
import os
os.environ["HF_HOME"] = ".cache/huggingface"
from diffusers.utils.dynamic_modules_utils import DIFFUSERS_DYNAMIC_MODULE_NAME, create_dynamic_module
from diffusers.utils.constants import HF_HOME
if __name__ == "__main__":
print(f"HF_HOME: {HF_HOME}")
full_submodule = DIFFUSERS_DYNAMIC_MODULE_NAME + os.path.sep + "local"
create_dynamic_module(full_submodule)
```
### Logs
```shell
HF_HOME: .cache/huggingface
Traceback (most recent call last):
File "/Users/luochaofan/projects/diffusers/_dynamic_modules.py", line 10, in
create_dynamic_module(full_submodule)
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 71, in create_dynamic_module
create_dynamic_module(dynamic_module_path.parent)
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 71, in create_dynamic_module
create_dynamic_module(dynamic_module_path.parent)
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 71, in create_dynamic_module
create_dynamic_module(dynamic_module_path.parent)
[Previous line repeated 52 more times]
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 70, in create_dynamic_module
if not dynamic_module_path.parent.exists():
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/pathlib.py", line 1414, in exists
self.stat()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/pathlib.py", line 1222, in stat
return self._accessor.stat(self)
OSError: [Errno 63] File name too long: '.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules'
```
### System Info
diffusers 0.28.0
### Who can help?
_No response_
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu tại src/diffusers/utils/dynamic_modules_utils.py, ở create_dynamic_module, sau đó chạy bản tái hiện với một giá trị HF_HOME tương đối. Hoàn thành khi hàm không còn đệ quy trong lúc xây dựng đường dẫn mô-đun động và lỗi file-name-too-long được báo cáo không xảy ra.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- backend
- Loại issue
- Lỗi
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 38/100