|
|
""" |
|
|
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, |
|
|
) |
|
|
|
|
|
|
|
|
demo = app.create_ui() |
|
|
demo.launch( |
|
|
server_port=args.port, |
|
|
share=args.share, |
|
|
) |
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
main() |
|
|
|
|
|
|