def make_omega_pred(self, use_optcam=False): return OmegasPred( config=self.config, smpl=self.smpl, use_optcam=use_optcam, vis_max_batch=self.batch_size, is_training=False, )
def build_test_model(self): B, T = self.batch_size, self.sequence_length I_t = tf.reshape(self.images_pl, (B * T, self.img_size, self.img_size, 3)) img_feat, phi_var_scope = self.f_image_enc( I_t, is_training=False, reuse=False, ) img_feat_full = tf.reshape(img_feat, (B, T, -1)) omega_mean = tf.tile(self.theta_mean, (self.sequence_length, 1)) if self.pred_mode == 'pred': movie_strips = self.f_temporal_enc( is_training=False, net=img_feat_full, num_conv_layers=self.num_conv_layers, ) elif self.pred_mode == 'hal': movie_strips = self.f_hal(img_feat_full) else: raise Exception('Pred mode {} not recognized'.format( self.pred_mode)) omegas_raw, deltas_pred = batch_pred_omega( input_features=movie_strips, batch_size=self.batch_size, sequence_length=self.sequence_length, num_output=self.num_output, is_training=False, omega_mean=omega_mean, scope='single_view_ief', predict_delta_keys=self.omegas_pred.keys(), use_optcam=self.use_optcam, use_delta_from_pred=True, ) self.omegas_pred[0].append_batched(omegas_raw) for k in deltas_pred.keys(): self.omegas_pred[k].append_batched(deltas_pred[k]) if self.use_optcam: self.omegas_pred[k].set_cams(self.omegas_pred[0].get_cams()) OmegasPred.compute_all_smpl() self.update_encoder_vars()