ginipick commited on
Commit
70db8b8
·
verified ·
1 Parent(s): b7cc2ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -10
app.py CHANGED
@@ -1,19 +1,56 @@
1
  import sys
2
  import subprocess
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
- # Try to import OpenCV; if not available, install it
5
  try:
6
  import cv2
7
  print("OpenCV already installed.")
8
  except ImportError:
9
- print("OpenCV not found. Installing opencv-python-headless...")
10
- subprocess.check_call([sys.executable, "-m", "pip", "install", "opencv-python-headless"])
11
  try:
 
12
  import cv2
13
  print("OpenCV successfully installed.")
14
- except ImportError:
15
- print("Failed to install OpenCV. Continuing without it...")
 
 
 
 
 
 
16
 
 
17
  import gradio as gr
18
  import torch
19
  from transformers import AutoModelForCausalLM, AutoTokenizer
@@ -33,11 +70,7 @@ HF_TOKEN = os.getenv("HF_TOKEN")
33
  if not HF_TOKEN:
34
  print("경고: HF_TOKEN 환경 변수가 설정되지 않았습니다. 비공개 모델에 접근할 수 없을 수 있습니다.")
35
 
36
- # --- 선택 사항: CPU 스레드 설정 ---
37
- # torch.set_num_threads(CPU_THREAD_COUNT)
38
- # os.environ["OMP_NUM_THREADS"] = str(CPU_THREAD_COUNT)
39
- # os.environ["MKL_NUM_THREADS"] = str(CPU_THREAD_COUNT)
40
-
41
  print("--- 환경 설정 ---")
42
  print(f"PyTorch 버전: {torch.__version__}")
43
  print(f"실행 장치: {torch.device('cuda' if torch.cuda.is_available() else 'cpu')}")
 
1
  import sys
2
  import subprocess
3
+ import pkg_resources
4
+
5
+ # List of required packages
6
+ required_packages = {
7
+ "gradio": None, # None means any version is acceptable
8
+ "torch": None,
9
+ "transformers": None,
10
+ "accelerate": None,
11
+ "pydantic": None,
12
+ "einops": None,
13
+ "timm": None,
14
+ "av": None
15
+ }
16
+
17
+ # Function to check if package is installed
18
+ def is_package_installed(package_name):
19
+ try:
20
+ pkg_resources.get_distribution(package_name)
21
+ return True
22
+ except pkg_resources.DistributionNotFound:
23
+ return False
24
+
25
+ # Install missing packages
26
+ for package, version in required_packages.items():
27
+ if not is_package_installed(package):
28
+ print(f"Installing {package}...")
29
+ if version:
30
+ subprocess.check_call([sys.executable, "-m", "pip", "install", f"{package}=={version}"])
31
+ else:
32
+ subprocess.check_call([sys.executable, "-m", "pip", "install", package])
33
 
34
+ # Try to import OpenCV, install if missing
35
  try:
36
  import cv2
37
  print("OpenCV already installed.")
38
  except ImportError:
39
+ print("Installing OpenCV...")
 
40
  try:
41
+ subprocess.check_call([sys.executable, "-m", "pip", "install", "opencv-python-headless"])
42
  import cv2
43
  print("OpenCV successfully installed.")
44
+ except:
45
+ print("Failed to install opencv-python-headless, trying opencv-python...")
46
+ try:
47
+ subprocess.check_call([sys.executable, "-m", "pip", "install", "opencv-python"])
48
+ import cv2
49
+ print("OpenCV successfully installed.")
50
+ except:
51
+ print("Failed to install OpenCV. Continuing without it...")
52
 
53
+ # Now import the rest of the packages
54
  import gradio as gr
55
  import torch
56
  from transformers import AutoModelForCausalLM, AutoTokenizer
 
70
  if not HF_TOKEN:
71
  print("경고: HF_TOKEN 환경 변수가 설정되지 않았습니다. 비공개 모델에 접근할 수 없을 수 있습니다.")
72
 
73
+ # --- 환경 설정 ---
 
 
 
 
74
  print("--- 환경 설정 ---")
75
  print(f"PyTorch 버전: {torch.__version__}")
76
  print(f"실행 장치: {torch.device('cuda' if torch.cuda.is_available() else 'cpu')}")