Created using Colaboratory

pull/3/head
Somnai 3 years ago
parent b05dd881d6
commit 4c706c98a9
  1. 25
      Disco_Diffusion.ipynb

@ -617,7 +617,6 @@
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
"metadata": { "metadata": {
"cellView": "form",
"id": "FpZczxnOnPIU" "id": "FpZczxnOnPIU"
}, },
"outputs": [], "outputs": [],
@ -1181,11 +1180,11 @@
" return grad * magnitude.clamp(max=args.clamp_max) / magnitude #min=-0.02, min=-clamp_max, \n", " return grad * magnitude.clamp(max=args.clamp_max) / magnitude #min=-0.02, min=-clamp_max, \n",
" return grad\n", " return grad\n",
" \n", " \n",
" if model_config['timestep_respacing'].startswith('ddim'):\n", " if args.sampling_mode == 'ddim':\n",
" sample_fn = diffusion.ddim_sample_loop_progressive\n", " sample_fn = diffusion.ddim_sample_loop_progressive\n",
" else:\n", " else:\n",
" sample_fn = diffusion.p_sample_loop_progressive\n", " sample_fn = diffusion.plms_sample_loop_progressive\n",
" \n", "\n",
"\n", "\n",
" image_display = Output()\n", " image_display = Output()\n",
" for i in range(args.n_batches):\n", " for i in range(args.n_batches):\n",
@ -1204,7 +1203,7 @@
" if perlin_init:\n", " if perlin_init:\n",
" init = regen_perlin()\n", " init = regen_perlin()\n",
"\n", "\n",
" if model_config['timestep_respacing'].startswith('ddim'):\n", " if args.sampling_mode == 'ddim':\n",
" samples = sample_fn(\n", " samples = sample_fn(\n",
" model,\n", " model,\n",
" (batch_size, 3, args.side_y, args.side_x),\n", " (batch_size, 3, args.side_y, args.side_x),\n",
@ -1228,6 +1227,7 @@
" skip_timesteps=skip_steps,\n", " skip_timesteps=skip_steps,\n",
" init_image=init,\n", " init_image=init,\n",
" randomize_class=randomize_class,\n", " randomize_class=randomize_class,\n",
" order=2,\n",
" )\n", " )\n",
" \n", " \n",
" \n", " \n",
@ -1335,6 +1335,7 @@
" 'use_secondary_model': use_secondary_model,\n", " 'use_secondary_model': use_secondary_model,\n",
" 'steps': steps,\n", " 'steps': steps,\n",
" 'diffusion_steps': diffusion_steps,\n", " 'diffusion_steps': diffusion_steps,\n",
" 'sampling_mode': sampling_mode,\n",
" 'ViTB32': ViTB32,\n", " 'ViTB32': ViTB32,\n",
" 'ViTB16': ViTB16,\n", " 'ViTB16': ViTB16,\n",
" 'ViTL14': ViTL14,\n", " 'ViTL14': ViTL14,\n",
@ -2101,8 +2102,9 @@
"#@markdown ####**Models Settings:**\n", "#@markdown ####**Models Settings:**\n",
"diffusion_model = \"512x512_diffusion_uncond_finetune_008100\" #@param [\"256x256_diffusion_uncond\", \"512x512_diffusion_uncond_finetune_008100\"]\n", "diffusion_model = \"512x512_diffusion_uncond_finetune_008100\" #@param [\"256x256_diffusion_uncond\", \"512x512_diffusion_uncond_finetune_008100\"]\n",
"use_secondary_model = True #@param {type: 'boolean'}\n", "use_secondary_model = True #@param {type: 'boolean'}\n",
"sampling_mode = 'plms' #@param ['plms','ddim'] \n",
"\n", "\n",
"timestep_respacing = '50' # param ['25','50','100','150','250','500','1000','ddim25','ddim50', 'ddim75', 'ddim100','ddim150','ddim250','ddim500','ddim1000'] \n", "timestep_respacing = '150' # param ['25','50','100','150','250','500','1000','ddim25','ddim50', 'ddim75', 'ddim100','ddim150','ddim250','ddim500','ddim1000'] \n",
"diffusion_steps = 1000 # param {type: 'number'}\n", "diffusion_steps = 1000 # param {type: 'number'}\n",
"use_checkpoint = True #@param {type: 'boolean'}\n", "use_checkpoint = True #@param {type: 'boolean'}\n",
"ViTB32 = True #@param{type:\"boolean\"}\n", "ViTB32 = True #@param{type:\"boolean\"}\n",
@ -2300,7 +2302,7 @@
"source": [ "source": [
"#@markdown ####**Basic Settings:**\n", "#@markdown ####**Basic Settings:**\n",
"batch_name = 'TimeToDisco' #@param{type: 'string'}\n", "batch_name = 'TimeToDisco' #@param{type: 'string'}\n",
"steps = 250 #@param [25,50,100,150,250,500,1000]{type: 'raw', allow-input: true}\n", "steps = 150 #@param [25,50,100,150,250,500,1000]{type: 'raw', allow-input: true}\n",
"width_height = [1280, 768]#@param{type: 'raw'}\n", "width_height = [1280, 768]#@param{type: 'raw'}\n",
"clip_guidance_scale = 5000 #@param{type: 'number'}\n", "clip_guidance_scale = 5000 #@param{type: 'number'}\n",
"tv_scale = 0#@param{type: 'number'}\n", "tv_scale = 0#@param{type: 'number'}\n",
@ -2804,6 +2806,14 @@
"display_rate = 50 #@param{type: 'number'}\n", "display_rate = 50 #@param{type: 'number'}\n",
"n_batches = 50 #@param{type: 'number'}\n", "n_batches = 50 #@param{type: 'number'}\n",
"\n", "\n",
"#Update Model Settings\n",
"timestep_respacing = f'ddim{steps}'\n",
"diffusion_steps = (1000//steps)*steps if steps < 1000 else steps\n",
"model_config.update({\n",
" 'timestep_respacing': timestep_respacing,\n",
" 'diffusion_steps': diffusion_steps,\n",
"})\n",
"\n",
"batch_size = 1 \n", "batch_size = 1 \n",
"\n", "\n",
"def move_files(start_num, end_num, old_folder, new_folder):\n", "def move_files(start_num, end_num, old_folder, new_folder):\n",
@ -2873,6 +2883,7 @@
" 'batch_size':batch_size,\n", " 'batch_size':batch_size,\n",
" 'batch_name': batch_name,\n", " 'batch_name': batch_name,\n",
" 'steps': steps,\n", " 'steps': steps,\n",
" 'sampling_mode': sampling_mode,\n",
" 'width_height': width_height,\n", " 'width_height': width_height,\n",
" 'clip_guidance_scale': clip_guidance_scale,\n", " 'clip_guidance_scale': clip_guidance_scale,\n",
" 'tv_scale': tv_scale,\n", " 'tv_scale': tv_scale,\n",

Loading…
Cancel
Save