(args, name, batch_data, infer_model, case, nSample)
| 49 | return pose_map_list, [cond_img_cat] |
| 50 | |
| 51 | def visualize(args, name, batch_data, infer_model, case, nSample): |
| 52 | infer_model.eval() |
| 53 | # video length #max(nSample, batch_data["image"].squeeze().shape[0]) |
| 54 | cond_imgs = batch_data["condition_image"].cuda() |
| 55 | #gt = torch.stack(batch_data['image']).squeeze() |
| 56 | if nSample == 1 : |
| 57 | conditions = batch_data['condition'].cuda() |
| 58 | if args.denoise_from_guidance: |
| 59 | fea_condtion = batch_data['fea_condition'].cuda()#.squeeze() |
| 60 | else: |
| 61 | try: |
| 62 | conditions = torch.stack(batch_data["condition"]).squeeze().cuda() |
| 63 | except: |
| 64 | conditions = batch_data["condition"].cuda() |
| 65 | if args.denoise_from_guidance: |
| 66 | fea_condtion = batch_data['fea_condition'].cuda().squeeze() |
| 67 | #import pdb;pdb.pdb.set_trace() |
| 68 | #print("text_blip:", batch_data["text_blip"]) |
| 69 | text = batch_data["text_blip"] |
| 70 | c_cross = infer_model.get_learned_conditioning(text) |
| 71 | c_cross = c_cross.repeat(nSample, 1, 1) |
| 72 | #import pdb;pdb.set_trace() |
| 73 | uc_cross = infer_model.get_unconditional_conditioning(nSample) |
| 74 | gene_img_list = [] |
| 75 | generated_imgs = [] |
| 76 | cond_img = infer_model.get_first_stage_encoding(infer_model.encode_first_stage(cond_imgs)) |
| 77 | cond_img = cond_img.repeat(nSample, 1, 1, 1) |
| 78 | cond_img_cat = [cond_img] |
| 79 | #more_cond_imgs = [] |
| 80 | #import pdb;pdb.set_trace() |
| 81 | if 'extra_appearance' in batch_data: |
| 82 | #more_cond_imgs = [] |
| 83 | m_cond_img = batch_data['extra_appearance'] # assume only one batch per inference. |
| 84 | m_cond_img = infer_model.get_first_stage_encoding(infer_model.encode_first_stage(m_cond_img.cuda())) |
| 85 | m_cond_img = m_cond_img.repeat(nSample, 1, 1, 1) |
| 86 | more_cond_imgs = m_cond_img#.append([m_cond_img]) |
| 87 | for i in range(conditions.shape[0] // nSample): |
| 88 | print("Generate Image {} in {} images".format(nSample * i, conditions.shape[0])) |
| 89 | inpaint = None |
| 90 | if args.denoise_from_guidance: |
| 91 | #import pdb;pdb.set_trace() |
| 92 | fea_map_enc = infer_model.get_first_stage_encoding(infer_model.encode_first_stage(fea_condtion[i*nSample: i*nSample+nSample])) |
| 93 | c = {"c_concat": [conditions[i*nSample: i*nSample+nSample]], "c_crossattn": [c_cross], "image_control": cond_img_cat, 'feature_control':fea_map_enc} |
| 94 | else: |
| 95 | c = {"c_concat": [conditions[i*nSample: i*nSample+nSample]], "c_crossattn": [c_cross], "image_control": cond_img_cat} |
| 96 | if args.control_mode == "controlnet_important": |
| 97 | uc = {"c_concat": [conditions[i*nSample: i*nSample+nSample]], "c_crossattn": [uc_cross]} |
| 98 | else: |
| 99 | uc = {"c_concat": [conditions[i*nSample: i*nSample+nSample]], "c_crossattn": [uc_cross], "image_control": cond_img_cat} |
| 100 | |
| 101 | c['wonoise'] = True |
| 102 | uc['wonoise'] = True |
| 103 | # generate images |
| 104 | if 'extra_appearance' in batch_data: |
| 105 | c['more_image_control'] = [more_cond_imgs] |
| 106 | # check if ti has alreayd exist: |
| 107 | # if os.path.isfile((f"{args.local_image_dir}/{batch_data['image_name'][0]}.mp4")): |
| 108 | # return |
no test coverage detected