""" 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()