Humphreykowl commited on
Commit
ae2ae66
·
verified ·
1 Parent(s): 412fd95

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -2
app.py CHANGED
@@ -65,6 +65,15 @@ class SimpleModelManager:
65
 
66
  def cleanup(self):
67
  pass
 
 
 
 
 
 
 
 
 
68
 
69
  # 全局状态管理
70
  class AppState:
@@ -551,8 +560,17 @@ def create_gradio_interface():
551
  with gr.Row():
552
  with gr.Column():
553
  gr.Markdown("### 🔧 系统控制")
554
- cleanup_btn = gr.Button("🧹 清理内存", variant="secondary")
555
- gr.Markdown("> **提示**: 如果遇到内存问题,请点击清理内存按钮")
 
 
 
 
 
 
 
 
 
556
 
557
  # 事件绑定 - 完整的流水线连接
558
  analyze_btn.click(
@@ -579,6 +597,24 @@ def create_gradio_interface():
579
  outputs=[]
580
  )
581
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
  # 添加使用说明
583
  with gr.Row():
584
  gr.Markdown("""
@@ -592,6 +628,7 @@ def create_gradio_interface():
592
  - 每一步都会调用相应的AI模型,请耐心等待生成完成
593
  - 使用ControlNet模型生成高质量的3D试穿效果
594
  - 所有设计都基于原始图片的分析结果
 
595
  """)
596
 
597
  return demo
 
65
 
66
  def cleanup(self):
67
  pass
68
+
69
+ def move_models_to_cpu(self):
70
+ pass
71
+
72
+ def move_models_to_gpu(self):
73
+ pass
74
+
75
+ def force_reload_all_models(self):
76
+ pass
77
 
78
  # 全局状态管理
79
  class AppState:
 
560
  with gr.Row():
561
  with gr.Column():
562
  gr.Markdown("### 🔧 系统控制")
563
+ cleanup_btn = gr.Button("🧹 清理显存缓存", variant="secondary")
564
+ cpu_btn = gr.Button("💾 模型移至CPU", variant="secondary")
565
+ gpu_btn = gr.Button("🚀 模型移至GPU", variant="secondary")
566
+ reload_btn = gr.Button("🔄 重新加载模型", variant="primary")
567
+ gr.Markdown("""
568
+ > **使用说明**:
569
+ > - **清理显存缓存**: 只清理缓存,不影响模型
570
+ > - **模型移至CPU**: 释放GPU显存,但推理会变慢
571
+ > - **模型移至GPU**: 将模型移回GPU,恢复正常速度
572
+ > - **重新加载模型**: 如果模型出现问题,强制重新加载
573
+ """)
574
 
575
  # 事件绑定 - 完整的流水线连接
576
  analyze_btn.click(
 
597
  outputs=[]
598
  )
599
 
600
+ cpu_btn.click(
601
+ fn=model_manager.move_models_to_cpu,
602
+ inputs=[],
603
+ outputs=[]
604
+ )
605
+
606
+ gpu_btn.click(
607
+ fn=model_manager.move_models_to_gpu,
608
+ inputs=[],
609
+ outputs=[]
610
+ )
611
+
612
+ reload_btn.click(
613
+ fn=model_manager.force_reload_all_models,
614
+ inputs=[],
615
+ outputs=[]
616
+ )
617
+
618
  # 添加使用说明
619
  with gr.Row():
620
  gr.Markdown("""
 
628
  - 每一步都会调用相应的AI模型,请耐心等待生成完成
629
  - 使用ControlNet模型生成高质量的3D试穿效果
630
  - 所有设计都基于原始图片的分析结果
631
+ - 如果遇到模型问题,可以使用下方的系统控制按钮
632
  """)
633
 
634
  return demo