svjack commited on
Commit
e4eb491
·
verified ·
1 Parent(s): b31a1c0

Upload run.py

Browse files
Files changed (1) hide show
  1. run.py +67 -0
run.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import argparse
3
+ from PIL import Image
4
+
5
+ from luciddreamer import LucidDreamer
6
+
7
+
8
+ if __name__ == "__main__":
9
+ ### option
10
+ parser = argparse.ArgumentParser(description='Arguments for LucidDreamer')
11
+ # Input options
12
+ parser.add_argument('--image', '-img', type=str, default='examples/Image015_animelakehouse.jpg', help='Input image for scene generation')
13
+ parser.add_argument('--text', '-t', type=str, default='examples/Image015_animelakehouse.txt', help='Text prompt for scene generation')
14
+ parser.add_argument('--neg_text', '-nt', type=str, default='', help='Negative text prompt for scene generation')
15
+
16
+ # Camera options
17
+ parser.add_argument('--campath_gen', '-cg', type=str, default='lookdown', choices=['lookdown', 'lookaround', 'rotate360'], help='Camera extrinsic trajectories for scene generation')
18
+ parser.add_argument('--campath_render', '-cr', type=str, default='llff', choices=['back_and_forth', 'llff', 'headbanging'], help='Camera extrinsic trajectories for video rendering')
19
+
20
+ # Inpainting options
21
+ parser.add_argument('--model_name', type=str, default=None, help='Model name for inpainting(dreaming)')
22
+ parser.add_argument('--seed', type=int, default=1, help='Manual seed for running Stable Diffusion inpainting')
23
+ parser.add_argument('--diff_steps', type=int, default=50, help='Number of inference steps for running Stable Diffusion inpainting')
24
+
25
+ # Save options
26
+ parser.add_argument('--save_dir', '-s', type=str, default='', help='Save directory')
27
+
28
+ args = parser.parse_args()
29
+
30
+
31
+ ### input (example)
32
+ rgb_cond = Image.open(args.image)
33
+
34
+ if args.text.endswith('.txt'):
35
+ with open(args.text, 'r') as f:
36
+ txt_cond = f.readline()
37
+ else:
38
+ txt_cond = args.text
39
+
40
+ if args.neg_text.endswith('.txt'):
41
+ with open(args.neg_text, 'r') as f:
42
+ neg_txt_cond = f.readline()
43
+ else:
44
+ neg_txt_cond = args.neg_text
45
+
46
+ # Make default save directory if blank
47
+ if args.save_dir == '':
48
+ img_name = os.path.splitext(os.path.basename(args.image))[0]
49
+ args.save_dir = f'./outputs/{img_name}_{args.campath_gen}_{args.seed}'
50
+ if not os.path.exists(args.save_dir):
51
+ os.makedirs(args.save_dir, exist_ok=True)
52
+
53
+ if args.model_name is not None and args.model_name.endswith('safetensors'):
54
+ print('Your model is saved in safetensor form. Converting to HF models...')
55
+ from diffusers.pipelines.stable_diffusion.convert_from_ckpt import download_from_original_stable_diffusion_ckpt
56
+
57
+ pipe = download_from_original_stable_diffusion_ckpt(
58
+ checkpoint_path_or_dict=args.model_name,
59
+ from_safetensors=True,
60
+ device='cuda',
61
+ )
62
+ pipe.save_pretrained('stablediffusion/', safe_serialization=False)
63
+ args.model_name = f'stablediffusion/{args.model_name}'
64
+
65
+ ld = LucidDreamer(for_gradio=False, save_dir=args.save_dir)
66
+ ld.create(rgb_cond, txt_cond, neg_txt_cond, args.campath_gen, args.seed, args.diff_steps, model_name=args.model_name)
67
+ ld.render_video(args.campath_render)