ginipick commited on
Commit
6a103fa
·
verified ·
1 Parent(s): c8bb6d5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -5
app.py CHANGED
@@ -1,12 +1,15 @@
1
  # --- 패치 적용: 모델 로딩 전에 실행 ---
2
  from transformers import PretrainedConfig
3
  PretrainedConfig.get_text_config = lambda self, decoder=True: type("DummyTextConfig", (), {"tie_word_embeddings": False})()
4
- # --- 패치 종료 ---
5
 
6
- from transformers import AutoModelForImageSegmentation, PreTrainedModel
7
- # tie_weights를 함수로 오버라이드 (모델 로딩 시 tie_weights 호출 무시)
8
- PreTrainedModel.tie_weights = lambda self: None
 
 
9
 
 
 
10
  import os
11
  import cv2
12
  import numpy as np
@@ -85,7 +88,7 @@ usage_to_weights_file = {
85
 
86
  # 초기 모델 로딩 (기본: General)
87
  birefnet = AutoModelForImageSegmentation.from_pretrained(
88
- '/'.join(('zhengpeng7', usage_to_weights_file['General'])),
89
  trust_remote_code=True
90
  )
91
  birefnet.to(device)
 
1
  # --- 패치 적용: 모델 로딩 전에 실행 ---
2
  from transformers import PretrainedConfig
3
  PretrainedConfig.get_text_config = lambda self, decoder=True: type("DummyTextConfig", (), {"tie_word_embeddings": False})()
 
4
 
5
+ # 이미지 분할 모델에 해당하는 모든 클래스의 tie_weights를 빈 함수로 오버라이드
6
+ from transformers.models.auto.modeling_auto import MODEL_FOR_IMAGE_SEGMENTATION_MAPPING
7
+ for model_class in MODEL_FOR_IMAGE_SEGMENTATION_MAPPING.values():
8
+ model_class.tie_weights = lambda self: None
9
+ # --- 패치 종료 ---
10
 
11
+ from transformers import AutoModelForImageSegmentation
12
+ from transformers import PreTrainedModel # (참고용)
13
  import os
14
  import cv2
15
  import numpy as np
 
88
 
89
  # 초기 모델 로딩 (기본: General)
90
  birefnet = AutoModelForImageSegmentation.from_pretrained(
91
+ '/'.join(('zhengpeng7', usage_to_weights_file['General'])),
92
  trust_remote_code=True
93
  )
94
  birefnet.to(device)