feishen29 commited on
Commit
078cbe4
·
verified ·
1 Parent(s): 5ba0ee4

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -30
app.py CHANGED
@@ -41,50 +41,47 @@ from insightface.utils import face_align
41
 
42
  # device = 'cuda:2' if torch.cuda.is_available() else 'cpu'
43
 
44
- parser = argparse.ArgumentParser(description='ReferenceAdapter diffusion')
45
- parser.add_argument('--if_resampler', type=bool, default=True)
46
  parser.add_argument('--if_ipa', type=bool, default=True)
47
  parser.add_argument('--if_control', type=bool, default=True)
48
 
49
  # parser.add_argument('--pretrained_model_name_or_path',
50
  # default="./ckpt/Realistic_Vision_V4.0_noVAE",
51
  # type=str)
52
- parser.add_argument('--ip_ckpt',
53
- default="./ckpt/ip-adapter-faceid-plus_sd15.bin",
54
- type=str)
55
- parser.add_argument('--pretrained_image_encoder_path',
56
- default="./ckpt/image_encoder/",
57
- type=str)
58
- parser.add_argument('--pretrained_vae_model_path',
59
- default="./ckpt/sd-vae-ft-mse/",
60
- type=str)
61
- parser.add_argument('--model_ckpt',
62
- default="./ckpt/IMAGDressing-v1_512.pt",
63
- type=str)
64
- parser.add_argument('--output_path', type=str, default="./output_ipa_control_resampler")
65
- # parser.add_argument('--device', type=str, default="cuda:0")
66
  args = parser.parse_args()
67
 
68
  # svae path
69
- output_path = args.output_path
 
 
 
70
 
71
- if not os.path.exists(output_path):
72
- os.makedirs(output_path)
73
 
74
- device = "cuda" if torch.cuda.is_available() else "cpu"
75
- args.device = device
76
 
77
  base_path = 'feishen29/IMAGDressing-v1'
78
 
79
  generator = torch.Generator(device=args.device).manual_seed(42)
80
- vae = AutoencoderKL.from_pretrained(args.pretrained_vae_model_path).to(dtype=torch.float16, device=args.device)
81
  tokenizer = CLIPTokenizer.from_pretrained("./ckpt/tokenizer")
82
- text_encoder = CLIPTextModel.from_pretrained("./ckpt/text_encoder").to(
83
- dtype=torch.float16, device=args.device)
84
- image_encoder = CLIPVisionModelWithProjection.from_pretrained(args.pretrained_image_encoder_path).to(
85
- dtype=torch.float16, device=args.device)
86
- unet = UNet2DConditionModel.from_pretrained("./ckpt/unet").to(
87
- dtype=torch.float16,device=args.device)
88
 
89
  # image_face_fusion = pipeline('face_fusion_torch', model='damo/cv_unet_face_fusion_torch', model_revision='v1.0.3')
90
 
@@ -136,7 +133,7 @@ ref_unet.set_attn_processor(
136
  {name: CacheAttnProcessor2_0() for name in ref_unet.attn_processors.keys()}) # set cache
137
 
138
  # weights load
139
- model_sd = torch.load(args.model_ckpt, map_location="cpu")["module"]
140
 
141
  ref_unet_dict = {}
142
  unet_dict = {}
@@ -257,7 +254,7 @@ def dress_process(garm_img, face_img, pose_img, prompt, cloth_guidance_scale, ca
257
  # noise_scheduler = UniPCMultistepScheduler.from_config(args.pretrained_model_name_or_path, subfolder="scheduler")
258
  pipe = PipIpaControlNet(unet=unet, reference_unet=ref_unet, vae=vae, tokenizer=tokenizer,
259
  text_encoder=text_encoder, image_encoder=image_encoder,
260
- ip_ckpt=args.ip_ckpt,
261
  ImgProj=image_proj, controlnet=control_net_openpose,
262
  scheduler=noise_scheduler,
263
  safety_checker=StableDiffusionSafetyChecker,
 
41
 
42
  # device = 'cuda:2' if torch.cuda.is_available() else 'cpu'
43
 
44
+ parser = argparse.ArgumentParser(description='IMAGDressing-v1')
45
+ # parser.add_argument('--if_resampler', type=bool, default=True)
46
  parser.add_argument('--if_ipa', type=bool, default=True)
47
  parser.add_argument('--if_control', type=bool, default=True)
48
 
49
  # parser.add_argument('--pretrained_model_name_or_path',
50
  # default="./ckpt/Realistic_Vision_V4.0_noVAE",
51
  # type=str)
52
+ # parser.add_argument('--ip_ckpt',
53
+ # default="./ckpt/ip-adapter-faceid-plus_sd15.bin",
54
+ # type=str)
55
+ # parser.add_argument('--pretrained_image_encoder_path',
56
+ # default="./ckpt/image_encoder/",
57
+ # type=str)
58
+ # parser.add_argument('--pretrained_vae_model_path',
59
+ # default="./ckpt/sd-vae-ft-mse/",
60
+ # type=str)
61
+ # parser.add_argument('--model_ckpt',
62
+ # default="./ckpt/IMAGDressing-v1_512.pt",
63
+ # type=str)
64
+ # parser.add_argument('--output_path', type=str, default="./output_ipa_control_resampler")
65
+ # # parser.add_argument('--device', type=str, default="cuda:0")
66
  args = parser.parse_args()
67
 
68
  # svae path
69
+ # output_path = args.output_path
70
+ #
71
+ # if not os.path.exists(output_path):
72
+ # os.makedirs(output_path)
73
 
 
 
74
 
75
+ args.device = "cuda"
 
76
 
77
  base_path = 'feishen29/IMAGDressing-v1'
78
 
79
  generator = torch.Generator(device=args.device).manual_seed(42)
80
+ vae = AutoencoderKL.from_pretrained('./ckpt/sd-vae-ft-mse/').to(dtype=torch.float16, device=args.device)
81
  tokenizer = CLIPTokenizer.from_pretrained("./ckpt/tokenizer")
82
+ text_encoder = CLIPTextModel.from_pretrained("./ckpt/text_encoder").to(dtype=torch.float16, device=args.device)
83
+ image_encoder = CLIPVisionModelWithProjection.from_pretrained('./ckpt/image_encoder/').to(dtype=torch.float16, device=args.device)
84
+ unet = UNet2DConditionModel.from_pretrained("./ckpt/unet").to(dtype=torch.float16,device=args.device)
 
 
 
85
 
86
  # image_face_fusion = pipeline('face_fusion_torch', model='damo/cv_unet_face_fusion_torch', model_revision='v1.0.3')
87
 
 
133
  {name: CacheAttnProcessor2_0() for name in ref_unet.attn_processors.keys()}) # set cache
134
 
135
  # weights load
136
+ model_sd = torch.load('./ckpt/IMAGDressing-v1_512.pt', map_location="cpu")["module"]
137
 
138
  ref_unet_dict = {}
139
  unet_dict = {}
 
254
  # noise_scheduler = UniPCMultistepScheduler.from_config(args.pretrained_model_name_or_path, subfolder="scheduler")
255
  pipe = PipIpaControlNet(unet=unet, reference_unet=ref_unet, vae=vae, tokenizer=tokenizer,
256
  text_encoder=text_encoder, image_encoder=image_encoder,
257
+ ip_ckpt='./ckpt/ip-adapter-faceid-plus_sd15.bin',
258
  ImgProj=image_proj, controlnet=control_net_openpose,
259
  scheduler=noise_scheduler,
260
  safety_checker=StableDiffusionSafetyChecker,