stargan-v2
stargan-v2 copied to clipboard
UnboundLocalError: local variable 'frames' referenced before assignment
Namespace(batch_size=8, beta1=0.0, beta2=0.99, checkpoint_dir='expr/checkpoints/celeba_hq', ds_iter=100000, eval_dir='expr/eval', eval_every=50000, f_lr=1e-06, hidden_dim=512, img_size=256, inp_dir='ass
ets/representative/custom/female', lambda_cyc=1, lambda_ds=1, lambda_reg=1, lambda_sty=1, latent_dim=16, lm_path='expr/checkpoints/celeba_lm_mean.npz', lr=0.0001, mode='sample', num_domains=2, num_outs_
per_domain=10, num_workers=4, out_dir='assets/representative/celeba_hq/src/female', print_every=10, randcrop_prob=0.5, ref_dir='assets/representative/celeba_hq/ref', result_dir='expr/results/celeba_hq',
resume_iter=100000, sample_dir='expr/samples', sample_every=5000, save_every=10000, seed=777, src_dir='assets/representative/celeba_hq/src', style_dim=64, total_iters=100000, train_img_dir='data/celeba
_hq/train', val_batch_size=32, val_img_dir='data/celeba_hq/val', w_hpf=1.0, weight_decay=0.0001, wing_path='expr/checkpoints/wing.ckpt')
Number of parameters of generator: 43467395
Number of parameters of mapping_network: 2438272
Number of parameters of style_encoder: 20916928
Number of parameters of discriminator: 20852290
Number of parameters of fan: 6333603
Initializing generator...
Initializing mapping_network...
Initializing style_encoder...
Initializing discriminator...
Preparing DataLoader for the generation phase...
Preparing DataLoader for the generation phase...
Loading checkpoint from expr/checkpoints/celeba_hq\100000_nets_ema.ckpt...
Working on expr/results/celeba_hq\reference.jpg...
C:\Users\acer\anaconda3\envs\python38\lib\site-packages\torch\nn\functional.py:3631: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please spe
cify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.
warnings.warn(
Working on expr/results/celeba_hq\video_ref.mp4...
video_ref: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 4013.69it/s]
Traceback (most recent call last):
File "main.py", line 182, in
How to solve?
replace the portion of code in utils.py
@torch.no_grad()
def video_ref(nets, args, x_src, x_ref, y_ref, fname):
video = []
frames = []
s_ref = nets.style_encoder(x_ref, y_ref)
s_prev = None
for data_next in tqdm(zip(x_ref, y_ref, s_ref), 'video_ref', len(x_ref)):
x_next, y_next, s_next = [d.unsqueeze(0) for d in data_next]
if s_prev is None:
x_prev, y_prev, s_prev = x_next, y_next, s_next
continue
if y_prev != y_next:
x_prev, y_prev, s_prev = x_next, y_next, s_next
continue
interpolated = interpolate(nets, args, x_src, s_prev, s_next)
entries = [x_prev, x_next]
slided = slide(entries) # (T, C, 256*2, 256)
frames = torch.cat([slided, interpolated], dim=3).cpu() # (T, C, 256*2, 256*(batch+1))
video.append(frames)
x_prev, y_prev, s_prev = x_next, y_next, s_next
# append last frame 10 time
for _ in range(10):
video.append(frames[-1:])
video = tensor2ndarray255(torch.cat(video))
save_video(fname, video)