fantaxy commited on
Commit
bfb6f49
Β·
verified Β·
1 Parent(s): b870c2c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -13
app.py CHANGED
@@ -1,7 +1,6 @@
1
  import spaces
2
  import time
3
  import os
4
- import tempfile
5
 
6
  # ONNX Runtime CUDA provider μ‹œλ„ (효과 없더라도 무해)
7
  os.environ.setdefault("INSIGHTFACE_ONNX_PROVIDERS", "CUDAExecutionProvider,CPUExecutionProvider")
@@ -206,22 +205,37 @@ def generate_image(
206
 
207
 
208
  def create_demo(args, model_name: str, device: str = "cuda" if torch.cuda.is_available() else "cpu", offload: bool = False):
 
209
  custom_css = """
210
- /* 상단에 νŒ¨λ”©μ„ κ°•μ œν•΄ HF νˆ΄λ°”/λ…ΈμΉ˜μ™€ κ²ΉμΉ¨ λ°©μ§€ */
211
- :root { scroll-padding-top: 72px; }
212
- html, body { padding-top: env(safe-area-inset-top); }
213
- .gradio-container { padding-top: 16px !important; overflow: visible !important; }
 
 
 
 
 
 
 
 
 
 
 
 
214
  /* 상단 λ°°μ§€ μ˜μ—­μ΄ λ‹€λ₯Έ μš”μ†Œ λ’€λ‘œ 깔리지 μ•Šλ„λ‘ */
215
- #top-badges { position: relative; z-index: 3; }
216
- /* λͺ¨λ°”μΌμ—μ„œ 상단 μš”μ†Œ 잘림 λ°©μ§€ */
217
- @media (max-width: 640px) {
218
- .gradio-container { padding-top: 20px !important; }
 
 
219
  }
220
  """
221
 
222
  with gr.Blocks(theme="soft", css=custom_css) as demo:
223
- # μ΅œμƒλ‹¨ μ—¬λ°± ν™•λ³΄μš© μŠ€νŽ˜μ΄μ„œ (νˆ΄λ°”κ°€ κ°€λ¦¬λŠ” ν™˜κ²½ λŒ€λΉ„)
224
- gr.HTML("<div style='height: 12px;'></div>")
225
  gr.HTML(
226
  """
227
  <div id="top-badges" class='container' style='display:flex; justify-content:center; gap:12px; margin-top:0;'>
@@ -351,6 +365,4 @@ if __name__ == "__main__":
351
  huggingface_hub.login(hf_token)
352
 
353
  demo = create_demo(args, args.name, args.device, args.offload)
354
- # SSR λΉ„ν™œμ„±ν™”: λ Œλ” μ•ˆμ •ν™”
355
  demo.launch(ssr_mode=False)
356
-
 
1
  import spaces
2
  import time
3
  import os
 
4
 
5
  # ONNX Runtime CUDA provider μ‹œλ„ (효과 없더라도 무해)
6
  os.environ.setdefault("INSIGHTFACE_ONNX_PROVIDERS", "CUDAExecutionProvider,CPUExecutionProvider")
 
205
 
206
 
207
  def create_demo(args, model_name: str, device: str = "cuda" if torch.cuda.is_available() else "cpu", offload: bool = False):
208
+ # ν™”λ©΄ 상단이 κ°€λ €μ§€λŠ” 문제λ₯Ό κ°•ν•˜κ²Œ μ™„ν™”ν•˜λŠ” μ „μ—­ CSS
209
  custom_css = """
210
+ :root{
211
+ /* κΈ°λ³Έ HF 상단 νˆ΄λ°” 높이 μΆ”μ •μΉ˜ (ν™˜κ²½μ— 따라 56~84px) */
212
+ --hf-header-offset: 72px;
213
+ --safe-top: env(safe-area-inset-top, 0px);
214
+ --top-offset: calc(var(--hf-header-offset) + var(--safe-top));
215
+ }
216
+ html, body, #root, .gradio-container{
217
+ margin: 0 !important;
218
+ padding-top: var(--top-offset) !important; /* κ³ μ • 헀더에 가리지 μ•Šλ„λ‘ 상단 μ—¬λ°± */
219
+ overflow: visible !important;
220
+ position: relative; /* μŒ“μž„ λ§₯락 보μž₯ */
221
+ z-index: 0;
222
+ }
223
+ /* λ‚΄λΆ€ 액컀/μžλ™ 슀크둀 μ‹œμ—λ„ 헀더에 κ°€λ €μ§€μ§€ μ•Šλ„λ‘ */
224
+ :root { scroll-margin-top: var(--top-offset); scroll-padding-top: var(--top-offset); }
225
+
226
  /* 상단 λ°°μ§€ μ˜μ—­μ΄ λ‹€λ₯Έ μš”μ†Œ λ’€λ‘œ 깔리지 μ•Šλ„λ‘ */
227
+ #top-badges { position: relative; z-index: 2; margin-top: 0 !important; }
228
+
229
+ /* λͺ¨λ°”μΌμ—μ„œ 헀더가 더 λ†’κ²Œ μž‘νžˆλŠ” 경우 μ—¬μœ λ₯Ό 더 μ€€λ‹€ */
230
+ @media (max-width: 768px){
231
+ :root{ --hf-header-offset: 82px; }
232
+ .gradio-container { padding-top: calc(var(--top-offset) + 6px) !important; }
233
  }
234
  """
235
 
236
  with gr.Blocks(theme="soft", css=custom_css) as demo:
237
+ # μ΅œμƒλ‹¨ μ—¬λ°± ν™•λ³΄μš© μŠ€νŽ˜μ΄μ„œ (λΈŒλΌμš°μ €/기기별 상단 κ³ μ • λ°” λŒ€μ‘)
238
+ gr.HTML("<div id='top-spacer' style='height: 0;'></div>")
239
  gr.HTML(
240
  """
241
  <div id="top-badges" class='container' style='display:flex; justify-content:center; gap:12px; margin-top:0;'>
 
365
  huggingface_hub.login(hf_token)
366
 
367
  demo = create_demo(args, args.name, args.device, args.offload)
 
368
  demo.launch(ssr_mode=False)