File size: 1,976 Bytes
546ff88
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
"""
Three-View-Style-Embedder - Local Web UI
Runs locally using local checkpoints and files.
"""
import argparse
from pathlib import Path
from inference_utils import StyleEmbedderApp

def main():
    parser = argparse.ArgumentParser(description='Three-View-Style-Embedder Web UI')
    parser.add_argument('--checkpoint', type=str, required=True,
                        help='Path to model checkpoint')
    parser.add_argument('--embeddings', type=str, required=True,
                        help='Path to artist embeddings (.npz)')
    parser.add_argument('--device', type=str, default='cuda',
                        help='Device to use')
    parser.add_argument('--yolo-dir', type=str, default=None,
                        help='Path to yolov5_anime directory (optional)')
    parser.add_argument('--yolo-weights', type=str, default=None,
                        help='Path to yolov5 anime weights .pt (optional)')
    parser.add_argument('--eyes-cascade', type=str, default=None,
                        help='Path to Haar cascade xml for eyes (optional)')
    parser.add_argument('--detector-device', type=str, default='cpu',
                        help='Device for face/eye detector (default: cpu; e.g. "cpu" or "0")')
    parser.add_argument('--port', type=int, default=7860,
                        help='Port number')
    parser.add_argument('--share', action='store_true',
                        help='Create public link')
    
    args = parser.parse_args()
    
    # 앱 생성
    app = StyleEmbedderApp(
        checkpoint_path=args.checkpoint,
        embeddings_path=args.embeddings,
        device=args.device,
        yolo_dir=args.yolo_dir,
        yolo_weights=args.yolo_weights,
        eyes_cascade=args.eyes_cascade,
        detector_device=args.detector_device,
    )
    
    # UI 생성 및 실행
    demo = app.create_ui()
    demo.launch(
        server_port=args.port,
        share=args.share,
    )


if __name__ == '__main__':
    main()