Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
|
@@ -134,20 +134,28 @@ else:
|
|
| 134 |
# )
|
| 135 |
from huggingface_hub import snapshot_download
|
| 136 |
|
| 137 |
-
HF_TOKEN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 138 |
|
| 139 |
logger.info("Loading Derm Foundation (first time may take a while)...")
|
| 140 |
try:
|
| 141 |
-
if
|
| 142 |
-
derm_dir =
|
| 143 |
-
logger.info(f"Loaded Derm Foundation from local: {
|
| 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)
|