Ejemplo n.º 1
0
     loss.backward()
     tr_optimizer.step()
     ##
 ## TB log val
 if (opt.IsTbLog):
     tb_info = {
         'loss': loss_val,
         'recon_loss': recon_loss_val,
         'entropy_loss': entropy_loss_val
     }
     for tag, value in tb_info.items():
         tb_logger.scalar_summary(tag, value, global_ite_idx)
     # TB log img
     if ((global_ite_idx % tb_img_log_interval) == 0):
         frames_vis = utils.vframes2imgs(unorm_trans(frames.data),
                                         step=5,
                                         batch_idx=0)
         frames_vis = np.concatenate(frames_vis, axis=-1)
         frames_vis = frames_vis[None, :, :] * np.ones(
             3, dtype=int)[:, None, None]
         frames_recon_vis = utils.vframes2imgs(unorm_trans(
             recon_frames.data),
                                               step=5,
                                               batch_idx=0)
         frames_recon_vis = np.concatenate(frames_recon_vis, axis=-1)
         frames_recon_vis = frames_recon_vis[None, :, :] * np.ones(
             3, dtype=int)[:, None, None]
         tb_info = {'x': frames_vis, 'x_rec': frames_recon_vis}
         for tag, imgs in tb_info.items():
             tb_logger.image_summary(tag, imgs, global_ite_idx)
 ##
Ejemplo n.º 2
0
model.to(device)
model.eval()

img_crop_size = 0
recon_error_list = [None] * len(video_data_loader)
# recon_error_list = []
progress_bar = tqdm(video_data_loader)
for batch_idx, frames in enumerate(progress_bar):
    progress_bar.update()
    frames = frames.reshape([batch_size, num_frame, ch, height, width])
    frames = frames.permute(0, 2, 1, 3, 4)
    frames = frames.to(device)
    if (ModelName == 'AE'):
        recon_frames = model(frames)
        ###### calculate reconstruction error (MSE)
        recon_np = utils.vframes2imgs(unorm_trans(recon_frames.data), step=1, batch_idx=0)
        input_np = utils.vframes2imgs(unorm_trans(frames.data), step=1, batch_idx=0)
        r = utils.crop_image(recon_np, img_crop_size) - utils.crop_image(input_np, img_crop_size)
        # recon_error = np.mean(sum(r**2)**0.5)
        recon_error = np.mean(r ** 2)  # **0.5
    elif (ModelName == 'MemAE'):
        recon_res = model(frames)
        recon_frames = recon_res['output']
        recon_np = utils.vframes2imgs(unorm_trans(recon_frames.data), step=1, batch_idx=0)
        input_np = utils.vframes2imgs(unorm_trans(frames.data), step=1, batch_idx=0)
        r = utils.crop_image(recon_np, img_crop_size) - utils.crop_image(input_np, img_crop_size)
        sp_error_map = sum(r ** 2)**0.5
        recon_error = np.mean(sp_error_map.flatten())
    else:
        recon_error = -1
        print('Wrong ModelName.')