cnxoo commited on
Commit
a28d343
·
verified ·
1 Parent(s): 6090fea

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +14 -5
main.py CHANGED
@@ -134,20 +134,28 @@ else:
134
  # )
135
  from huggingface_hub import snapshot_download
136
 
137
- HF_TOKEN = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")
 
 
 
 
 
138
 
139
  logger.info("Loading Derm Foundation (first time may take a while)...")
140
  try:
141
- if DERM_LOCAL_DIR and os.path.isdir(DERM_LOCAL_DIR) and os.path.exists(os.path.join(DERM_LOCAL_DIR, "saved_model.pb")):
142
- derm_dir = DERM_LOCAL_DIR
143
- logger.info(f"Loaded Derm Foundation from local: {DERM_LOCAL_DIR}")
144
  else:
145
  logger.info(f"Downloading derm-foundation from hub: {DERM_MODEL_ID}")
146
  derm_dir = snapshot_download(
147
  repo_id=DERM_MODEL_ID,
148
  repo_type="model",
149
  allow_patterns=["saved_model.pb", "variables/*"],
150
- token=HF_TOKEN, # เพิ่มบรรทัดนี้
 
 
 
151
  )
152
  logger.info(f"Derm Foundation downloaded to: {derm_dir}")
153
 
@@ -159,6 +167,7 @@ except Exception as e:
159
  "Make sure you accepted the model terms and set HF_TOKEN in Space Settings."
160
  )
161
 
 
162
  # ---------------------- Utils ----------------------
163
  def pil_to_png_bytes_448(pil_img: Image.Image) -> bytes:
164
  pil_img = pil_img.convert("RGB").resize(DF_SIZE)
 
134
  # )
135
  from huggingface_hub import snapshot_download
136
 
137
+ HF_TOKEN = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")
138
+ CACHE_DIR = os.getenv("HF_HOME", "/app/.cache")
139
+ LOCAL_DERM = os.getenv("DERM_LOCAL_DIR", "/app/derm-foundation") # จะดาวน์โหลดมาไว้ที่นี่
140
+
141
+ os.makedirs(CACHE_DIR, exist_ok=True)
142
+ os.makedirs(LOCAL_DERM, exist_ok=True)
143
 
144
  logger.info("Loading Derm Foundation (first time may take a while)...")
145
  try:
146
+ if os.path.isdir(LOCAL_DERM) and os.path.exists(os.path.join(LOCAL_DERM, "saved_model.pb")):
147
+ derm_dir = LOCAL_DERM
148
+ logger.info(f"Loaded Derm Foundation from local: {derm_dir}")
149
  else:
150
  logger.info(f"Downloading derm-foundation from hub: {DERM_MODEL_ID}")
151
  derm_dir = snapshot_download(
152
  repo_id=DERM_MODEL_ID,
153
  repo_type="model",
154
  allow_patterns=["saved_model.pb", "variables/*"],
155
+ token=HF_TOKEN, # <-- ต้องมี
156
+ cache_dir=CACHE_DIR, # <-- ไม่เขียนไป /.cache
157
+ local_dir=LOCAL_DERM, # <-- เก็บเป็นโฟลเดอร์จริง
158
+ local_dir_use_symlinks=False, # <-- กันปัญหา symlink/สิทธิ์
159
  )
160
  logger.info(f"Derm Foundation downloaded to: {derm_dir}")
161
 
 
167
  "Make sure you accepted the model terms and set HF_TOKEN in Space Settings."
168
  )
169
 
170
+
171
  # ---------------------- Utils ----------------------
172
  def pil_to_png_bytes_448(pil_img: Image.Image) -> bytes:
173
  pil_img = pil_img.convert("RGB").resize(DF_SIZE)