Boka73 commited on
Commit
45ccf42
·
verified ·
1 Parent(s): ae50cb7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +56 -27
app.py CHANGED
@@ -2,8 +2,11 @@ import argparse
2
  import os
3
  import time
4
  import gradio as gr
 
 
5
  import roop.metadata
6
  import roop.utilities as util
 
7
  import ui.globals as uii
8
 
9
  from ui.tabs.faceswap_tab import faceswap_tab
@@ -12,75 +15,96 @@ from ui.tabs.facemgr_tab import facemgr_tab
12
  from ui.tabs.extras_tab import extras_tab
13
  from ui.tabs.settings_tab import settings_tab
14
 
 
 
15
  roop.globals.keep_fps = None
16
  roop.globals.keep_frames = None
17
  roop.globals.skip_audio = None
18
  roop.globals.use_batch = None
19
 
 
20
  def parse_args():
21
  parser = argparse.ArgumentParser(description="Roop-Unleashed Gradio Server")
22
  parser.add_argument(
23
  "--share",
24
  action="store_true",
25
- help="Enable Gradio public share link"
26
  )
27
  return parser.parse_args()
28
 
29
- def run():
30
- args = parse_args()
31
- roop.globals.CFG.server_share = args.share # <-- toggle share here
32
- ...
33
 
34
  def prepare_environment():
35
  roop.globals.output_path = os.path.abspath(os.path.join(os.getcwd(), "output"))
36
  os.makedirs(roop.globals.output_path, exist_ok=True)
 
37
  if not roop.globals.CFG.use_os_temp_folder:
38
  os.environ["TEMP"] = os.environ["TMP"] = os.path.abspath(
39
  os.path.join(os.getcwd(), "temp")
40
  )
41
- os.makedirs(os.environ["TEMP"], exist_ok=True)
42
- os.environ["GRADIO_TEMP_DIR"] = os.environ["TEMP"]
 
 
43
  os.environ["GRADIO_ANALYTICS_ENABLED"] = "0"
44
 
45
 
46
- def run():
 
 
 
 
47
  from roop.core import decode_execution_providers, set_display_ui
48
 
 
 
 
 
 
 
 
 
49
  prepare_environment()
50
 
 
51
  set_display_ui(show_msg)
52
- if roop.globals.CFG.provider == "cuda" and util.has_cuda_device() == False:
 
 
53
  roop.globals.CFG.provider = "cpu"
54
 
55
  roop.globals.execution_providers = decode_execution_providers(
56
  [roop.globals.CFG.provider]
57
  )
 
58
  gputype = util.get_device()
59
  if gputype == "cuda":
60
  util.print_cuda_info()
61
 
62
- print(f"Using provider {roop.globals.execution_providers} - Device:{gputype}")
63
 
64
  run_server = True
65
  uii.ui_restart_server = False
66
- mycss = """
67
- span {color: var(--block-info-text-color)}
68
- #fixedheight {
69
- max-height: 238.4px;
70
- overflow-y: auto !important;
71
- }
72
- .image-container.svelte-1l6wqyv {height: 100%}
73
 
 
 
 
 
 
 
 
74
  """
75
 
76
  while run_server:
77
  server_name = roop.globals.CFG.server_name
78
- if server_name is None or len(server_name) < 1:
79
- server_name = None
 
80
  server_port = roop.globals.CFG.server_port
81
  if server_port <= 0:
82
- server_port = None
 
83
  ssl_verify = False if server_name == "0.0.0.0" else True
 
84
  with gr.Blocks(
85
  title=f"{roop.metadata.name} {roop.metadata.version}",
86
  theme=roop.globals.CFG.selected_theme,
@@ -92,14 +116,18 @@ def run():
92
  f"### [{roop.metadata.name} {roop.metadata.version}](https://gitlab.com/roop-unleashed/roop-unleashed)"
93
  )
94
  gr.HTML(util.create_version_html(), elem_id="versions")
 
 
95
  faceswap_tab()
96
  livecam_tab()
97
  facemgr_tab()
98
  extras_tab()
99
  settings_tab()
100
- launch_browser = roop.globals.CFG.launch_browser
 
101
 
102
  uii.ui_restart_server = False
 
103
  try:
104
  ui.queue().launch(
105
  inbrowser=launch_browser,
@@ -114,15 +142,16 @@ def run():
114
  print(f"Exception {e} when launching Gradio Server!")
115
  uii.ui_restart_server = True
116
  run_server = True
 
117
  try:
118
- while uii.ui_restart_server == False:
119
  time.sleep(1.0)
120
-
121
  except (KeyboardInterrupt, OSError):
122
  print("Keyboard interruption in main thread... closing server.")
123
- run_server = True
124
- ui.close()
125
 
126
 
127
- def show_msg(msg: str):
128
- gr.Info(msg)
 
 
2
  import os
3
  import time
4
  import gradio as gr
5
+
6
+ import roop
7
  import roop.metadata
8
  import roop.utilities as util
9
+ import roop.globals
10
  import ui.globals as uii
11
 
12
  from ui.tabs.faceswap_tab import faceswap_tab
 
15
  from ui.tabs.extras_tab import extras_tab
16
  from ui.tabs.settings_tab import settings_tab
17
 
18
+
19
+ # কিছু গ্লোবাল ডিফল্ট
20
  roop.globals.keep_fps = None
21
  roop.globals.keep_frames = None
22
  roop.globals.skip_audio = None
23
  roop.globals.use_batch = None
24
 
25
+
26
  def parse_args():
27
  parser = argparse.ArgumentParser(description="Roop-Unleashed Gradio Server")
28
  parser.add_argument(
29
  "--share",
30
  action="store_true",
31
+ help="Enable Gradio public share link",
32
  )
33
  return parser.parse_args()
34
 
 
 
 
 
35
 
36
  def prepare_environment():
37
  roop.globals.output_path = os.path.abspath(os.path.join(os.getcwd(), "output"))
38
  os.makedirs(roop.globals.output_path, exist_ok=True)
39
+
40
  if not roop.globals.CFG.use_os_temp_folder:
41
  os.environ["TEMP"] = os.environ["TMP"] = os.path.abspath(
42
  os.path.join(os.getcwd(), "temp")
43
  )
44
+ os.makedirs(os.environ["TEMP"], exist_ok=True)
45
+
46
+ # Gradio temp/telemetry config
47
+ os.environ["GRADIO_TEMP_DIR"] = os.environ.get("TEMP", "/tmp")
48
  os.environ["GRADIO_ANALYTICS_ENABLED"] = "0"
49
 
50
 
51
+ def show_msg(msg: str):
52
+ gr.Info(msg)
53
+
54
+
55
+ def main():
56
  from roop.core import decode_execution_providers, set_display_ui
57
 
58
+ # CLI args (Hugging Face-এ সাধারণত ব্যবহার হবে না, কিন্তু লোকাল রান করলে কাজে লাগবে)
59
+ try:
60
+ args = parse_args()
61
+ roop.globals.CFG.server_share = getattr(args, "share", False)
62
+ except SystemExit:
63
+ # Hugging Face Space-এ argv issue হলে ignore করো
64
+ roop.globals.CFG.server_share = False
65
+
66
  prepare_environment()
67
 
68
+ # UI message handler সেট করা
69
  set_display_ui(show_msg)
70
+
71
+ # Hugging Face CPU-র জন্য provider safe fallback
72
+ if roop.globals.CFG.provider == "cuda" and util.has_cuda_device() is False:
73
  roop.globals.CFG.provider = "cpu"
74
 
75
  roop.globals.execution_providers = decode_execution_providers(
76
  [roop.globals.CFG.provider]
77
  )
78
+
79
  gputype = util.get_device()
80
  if gputype == "cuda":
81
  util.print_cuda_info()
82
 
83
+ print(f"Using provider {roop.globals.execution_providers} - Device: {gputype}")
84
 
85
  run_server = True
86
  uii.ui_restart_server = False
 
 
 
 
 
 
 
87
 
88
+ mycss = """
89
+ span {color: var(--block-info-text-color)}
90
+ #fixedheight {
91
+ max-height: 238.4px;
92
+ overflow-y: auto !important;
93
+ }
94
+ .image-container.svelte-1l6wqyv {height: 100%}
95
  """
96
 
97
  while run_server:
98
  server_name = roop.globals.CFG.server_name
99
+ if not server_name:
100
+ server_name = "0.0.0.0"
101
+
102
  server_port = roop.globals.CFG.server_port
103
  if server_port <= 0:
104
+ server_port = 7860
105
+
106
  ssl_verify = False if server_name == "0.0.0.0" else True
107
+
108
  with gr.Blocks(
109
  title=f"{roop.metadata.name} {roop.metadata.version}",
110
  theme=roop.globals.CFG.selected_theme,
 
116
  f"### [{roop.metadata.name} {roop.metadata.version}](https://gitlab.com/roop-unleashed/roop-unleashed)"
117
  )
118
  gr.HTML(util.create_version_html(), elem_id="versions")
119
+
120
+ # Tabs
121
  faceswap_tab()
122
  livecam_tab()
123
  facemgr_tab()
124
  extras_tab()
125
  settings_tab()
126
+
127
+ launch_browser = roop.globals.CFG.launch_browser
128
 
129
  uii.ui_restart_server = False
130
+
131
  try:
132
  ui.queue().launch(
133
  inbrowser=launch_browser,
 
142
  print(f"Exception {e} when launching Gradio Server!")
143
  uii.ui_restart_server = True
144
  run_server = True
145
+
146
  try:
147
+ while uii.ui_restart_server is False:
148
  time.sleep(1.0)
 
149
  except (KeyboardInterrupt, OSError):
150
  print("Keyboard interruption in main thread... closing server.")
151
+ run_server = False
152
+ ui.close()
153
 
154
 
155
+ # Hugging Face Space main entry
156
+ if __name__ == "__main__":
157
+ main()