()
| 32 | |
| 33 | |
| 34 | def main(): |
| 35 | args = ArgumentParser() |
| 36 | args.add_argument("--model_256", action="store_true") |
| 37 | args.add_argument("--write_to", type=str, required=False, default=None) |
| 38 | args.add_argument("--transformer_path", type=str, required=False, default=None) |
| 39 | args = args.parse_args() |
| 40 | |
| 41 | transformer_path = args.transformer_path |
| 42 | subfolder = "transformer" |
| 43 | |
| 44 | if transformer_path is None: |
| 45 | if args.model_256: |
| 46 | transformer_path = "openMUSE/muse-256" |
| 47 | else: |
| 48 | transformer_path = ( |
| 49 | "../research-run-512-checkpoints/research-run-512-with-downsample-checkpoint-554000/unwrapped_model/" |
| 50 | ) |
| 51 | subfolder = None |
| 52 | |
| 53 | old_transformer = MaskGiTUViT.from_pretrained(transformer_path, subfolder=subfolder) |
| 54 | |
| 55 | old_transformer.to(device) |
| 56 | |
| 57 | old_vae = VQGANModel.from_pretrained("openMUSE/muse-512", subfolder="vae") |
| 58 | old_vae.to(device) |
| 59 | |
| 60 | vqvae = make_vqvae(old_vae) |
| 61 | |
| 62 | tokenizer = CLIPTokenizer.from_pretrained("openMUSE/muse-512", subfolder="text_encoder") |
| 63 | |
| 64 | text_encoder = CLIPTextModelWithProjection.from_pretrained("openMUSE/muse-512", subfolder="text_encoder") |
| 65 | text_encoder.to(device) |
| 66 | |
| 67 | transformer = make_transformer(old_transformer, args.model_256) |
| 68 | |
| 69 | scheduler = AmusedScheduler(mask_token_id=old_transformer.config.mask_token_id) |
| 70 | |
| 71 | new_pipe = AmusedPipeline( |
| 72 | vqvae=vqvae, tokenizer=tokenizer, text_encoder=text_encoder, transformer=transformer, scheduler=scheduler |
| 73 | ) |
| 74 | |
| 75 | old_pipe = OldPipelineMuse( |
| 76 | vae=old_vae, transformer=old_transformer, text_encoder=text_encoder, tokenizer=tokenizer |
| 77 | ) |
| 78 | old_pipe.to(device) |
| 79 | |
| 80 | if args.model_256: |
| 81 | transformer_seq_len = 256 |
| 82 | orig_size = (256, 256) |
| 83 | else: |
| 84 | transformer_seq_len = 1024 |
| 85 | orig_size = (512, 512) |
| 86 | |
| 87 | old_out = old_pipe( |
| 88 | "dog", |
| 89 | generator=torch.Generator(device).manual_seed(0), |
| 90 | transformer_seq_len=transformer_seq_len, |
| 91 | orig_size=orig_size, |
no test coverage detected
searching dependent graphs…