ginipick commited on
Commit
89af645
·
verified ·
1 Parent(s): 9b643fb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +59 -11
app.py CHANGED
@@ -3,11 +3,33 @@ import os
3
  os.environ['CUDA_VISIBLE_DEVICES'] = ''
4
  os.environ['ZEROGPU'] = '1' # ZeroGPU 환경임을 표시
5
 
6
- # Safetensors 사용 강제 및 torch 버전 체크 우회
7
  os.environ['SAFETENSORS_FAST_GPU'] = '1'
8
  os.environ['TRANSFORMERS_OFFLINE'] = '0'
9
  os.environ['TRANSFORMERS_USE_SAFETENSORS'] = '1'
10
- os.environ['DISABLE_TORCH_LOAD_SAFETY_CHECK'] = '1' # This might help bypass the check
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  import spaces # spaces import는 환경 설정 후에
13
  import shlex
@@ -16,17 +38,9 @@ import subprocess
16
  # 라이브러리 버전 호환성 문제 해결
17
  subprocess.run(shlex.split("pip install pip==24.0"), check=True)
18
 
19
- # Safetensors 기본으로 사용하도록 transformers 설정
20
  subprocess.run(shlex.split("pip install safetensors --upgrade"), check=True)
21
 
22
- # Monkey patch to force safetensors loading
23
- import sys
24
- if 'transformers' in sys.modules:
25
- del sys.modules['transformers']
26
-
27
- # transformers import 전에 환경 변수 설정
28
- os.environ['TRANSFORMERS_USE_SAFETENSORS'] = '1'
29
-
30
  subprocess.run(
31
  shlex.split(
32
  "pip install package/onnxruntime_gpu-1.17.0-cp310-cp310-manylinux_2_28_x86_64.whl --force-reinstall --no-deps"
@@ -38,6 +52,40 @@ subprocess.run(
38
  ), check=True
39
  )
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  # 모델 체크포인트 다운로드 및 torch 설정
42
  if __name__ == "__main__":
43
  from huggingface_hub import snapshot_download
 
3
  os.environ['CUDA_VISIBLE_DEVICES'] = ''
4
  os.environ['ZEROGPU'] = '1' # ZeroGPU 환경임을 표시
5
 
6
+ # Safetensors 사용 강제
7
  os.environ['SAFETENSORS_FAST_GPU'] = '1'
8
  os.environ['TRANSFORMERS_OFFLINE'] = '0'
9
  os.environ['TRANSFORMERS_USE_SAFETENSORS'] = '1'
10
+
11
+ # Patch transformers to add missing SiglipImageProcessor
12
+ import sys
13
+ from types import ModuleType
14
+
15
+ # Create mock for SiglipImageProcessor before importing transformers
16
+ if 'transformers' not in sys.modules:
17
+ # Create a dummy SiglipImageProcessor class
18
+ class DummySiglipImageProcessor:
19
+ def __init__(self, *args, **kwargs):
20
+ pass
21
+
22
+ class DummySiglipVisionModel:
23
+ def __init__(self, *args, **kwargs):
24
+ pass
25
+
26
+ # Pre-patch transformers module
27
+ transformers_module = ModuleType('transformers')
28
+ transformers_module.SiglipImageProcessor = DummySiglipImageProcessor
29
+ transformers_module.SiglipVisionModel = DummySiglipVisionModel
30
+
31
+ # Add to sys.modules
32
+ sys.modules['transformers'] = transformers_module
33
 
34
  import spaces # spaces import는 환경 설정 후에
35
  import shlex
 
38
  # 라이브러리 버전 호환성 문제 해결
39
  subprocess.run(shlex.split("pip install pip==24.0"), check=True)
40
 
41
+ # Safetensors 설치
42
  subprocess.run(shlex.split("pip install safetensors --upgrade"), check=True)
43
 
 
 
 
 
 
 
 
 
44
  subprocess.run(
45
  shlex.split(
46
  "pip install package/onnxruntime_gpu-1.17.0-cp310-cp310-manylinux_2_28_x86_64.whl --force-reinstall --no-deps"
 
52
  ), check=True
53
  )
54
 
55
+ # Import transformers and patch it
56
+ import transformers
57
+
58
+ # Add missing classes if they don't exist
59
+ if not hasattr(transformers, 'SiglipImageProcessor'):
60
+ class SiglipImageProcessor:
61
+ def __init__(self, *args, **kwargs):
62
+ # Fallback to CLIPImageProcessor
63
+ self._processor = transformers.CLIPImageProcessor(*args, **kwargs)
64
+
65
+ def __getattr__(self, name):
66
+ return getattr(self._processor, name)
67
+
68
+ transformers.SiglipImageProcessor = SiglipImageProcessor
69
+
70
+ if not hasattr(transformers, 'SiglipVisionModel'):
71
+ class SiglipVisionModel:
72
+ def __init__(self, *args, **kwargs):
73
+ # Fallback to CLIPVisionModel
74
+ from transformers import CLIPVisionModel
75
+ self._model = CLIPVisionModel(*args, **kwargs)
76
+
77
+ def __getattr__(self, name):
78
+ return getattr(self._model, name)
79
+
80
+ @classmethod
81
+ def from_pretrained(cls, *args, **kwargs):
82
+ instance = cls.__new__(cls)
83
+ from transformers import CLIPVisionModel
84
+ instance._model = CLIPVisionModel.from_pretrained(*args, **kwargs)
85
+ return instance
86
+
87
+ transformers.SiglipVisionModel = SiglipVisionModel
88
+
89
  # 모델 체크포인트 다운로드 및 torch 설정
90
  if __name__ == "__main__":
91
  from huggingface_hub import snapshot_download