def __init__(self, scope=None, **kwargs): super().__init__(scope=scope, **kwargs) self.training_wheels = build_scheduled_value(self.training_wheels, "training_wheels") self.obj_concrete_temp = build_scheduled_value(self.obj_concrete_temp, "obj_concrete_temp") self.obj_temp = build_scheduled_value(self.obj_temp, "obj_temp")
def __init__(self, env, updater, scope=None, **kwargs): super().__init__(env, updater, scope=scope) self.reconstruction_weight = build_scheduled_value( self.reconstruction_weight, "reconstruction_weight") self.kl_weight = build_scheduled_value(self.kl_weight, "kl_weight") if not self.noisy and self.train_kl: raise Exception( "If `noisy` is False, `train_kl` must also be False.")
def __init__(self, pixels_per_cell, scope=None, **kwargs): super(GridObjectLayer, self).__init__(scope=scope, **kwargs) self.pixels_per_cell = pixels_per_cell self.B = len(self.anchor_boxes) if isinstance(self.count_prior_dist, str): self.count_prior_dist = eval(self.count_prior_dist) self.count_prior_log_odds = build_scheduled_value( self.count_prior_log_odds, "count_prior_log_odds") self.obj_concrete_temp = build_scheduled_value(self.obj_concrete_temp, "obj_concrete_temp") self.obj_temp = build_scheduled_value(self.obj_temp, "obj_temp") self.yx_prior_mean = build_scheduled_value(self.yx_prior_mean, "yx_prior_mean") self.yx_prior_std = build_scheduled_value(self.yx_prior_std, "yx_prior_std") self.hw_prior_mean = build_scheduled_value(self.hw_prior_mean, "hw_prior_mean") self.hw_prior_std = build_scheduled_value(self.hw_prior_std, "hw_prior_std") self.training_wheels = build_scheduled_value(self.training_wheels, "training_wheels") self.anchor_boxes = np.array(self.anchor_boxes)
def __init__(self, pixels_per_cell, grid_offset=None, scope=None, **kwargs): super(GridObjectLayer, self).__init__(scope=scope, **kwargs) self.pixels_per_cell = pixels_per_cell self.grid_offset = np.zeros(2) if grid_offset is None else grid_offset self.B = self.n_objects_per_cell self.yx_prior_mean = build_scheduled_value(self.yx_prior_mean, "yx_prior_mean") self.yx_prior_std = build_scheduled_value(self.yx_prior_std, "yx_prior_std") self.hw_prior_mean = build_scheduled_value(self.hw_prior_mean, "hw_prior_mean") self.hw_prior_std = build_scheduled_value(self.hw_prior_std, "hw_prior_std") self.anchor_box = np.array(self.anchor_box)
def __init__(self, env, updater, scope=None, **kwargs): super().__init__(env, updater, scope=scope) self.lmbda = build_scheduled_value(self.lmbda, "lmbda") self.output_size_per_object = np.prod( self.object_shape) * (self.image_depth + 1) + 1 + 4 + self.n_layers
def build_update(self, context): self.delta = build_scheduled_value(self.delta_schedule, "delta") tvars = self.trainable_variables(for_opt=True) self.gradient = tf.gradients(context.objective, tvars) mask = context.get_signal('mask') kl = context.get_signal('kl', self.policy) mean_kl = masked_mean(kl, mask) self.fv_product = HessianVectorProduct(mean_kl, tvars) self.grad_norm_pure = tf.placeholder(tf.float32, shape=(), name="_grad_norm_pure") self.grad_norm_natural = tf.placeholder(tf.float32, shape=(), name="_grad_norm_natural") self.step_norm = tf.placeholder(tf.float32, shape=(), name="_step_norm") context.add_recorded_values(grad_norm_pure=self.grad_norm_pure, grad_norm_natural=self.grad_norm_natural, step_norm=self.step_norm, train_only=True)
def build_core_signals(self, context): self.maybe_build_mode() self.train_exploration = build_scheduled_value( self.train_exploration_schedule) if self.val_exploration_schedule is None: self.exploration = self.val_exploration = self.train_exploration else: self.val_exploration = build_scheduled_value( self.val_exploration_schedule) self.exploration = tf.cond( tf.logical_or( tf.equal(self.mode, "train"), tf.equal(self.mode, "off_policy"), ), lambda: self.train_exploration, lambda: self.val_exploration) label = "{}-exploration".format(self.display_name) context.add_recorded_value(label, self.exploration)
def __init__(self, env, updater, scope=None, **kwargs): self.updater = updater self.obs_shape = env.obs_shape self.image_height, self.image_width, self.image_depth = self.obs_shape self.attr_prior_mean = build_scheduled_value(self.attr_prior_mean, "attr_prior_mean") self.attr_prior_std = build_scheduled_value(self.attr_prior_std, "attr_prior_std") self.reconstruction_weight = build_scheduled_value( self.reconstruction_weight, "reconstruction_weight") self.kl_weight = build_scheduled_value(self.kl_weight, "kl_weight") self.math_weight = build_scheduled_value(self.math_weight, "math_weight") if not self.noisy and self.train_kl: raise Exception("If `noisy` is False, `train_kl` must also be False.") super(VariationalAutoencoder, self).__init__(scope=scope, **kwargs)
def __init__(self, pixels_per_cell, scope=None, **kwargs): super(GridObjectLayer, self).__init__(scope=scope, **kwargs) self.pixels_per_cell = pixels_per_cell self.B = self.n_objects_per_cell if isinstance(self.count_prior_dist, str): self.count_prior_dist = eval(self.count_prior_dist) self.count_prior_log_odds = build_scheduled_value(self.count_prior_log_odds, "count_prior_log_odds") self.yx_prior_mean = build_scheduled_value(self.yx_prior_mean, "yx_prior_mean") self.yx_prior_std = build_scheduled_value(self.yx_prior_std, "yx_prior_std") self.hw_prior_mean = build_scheduled_value(self.hw_prior_mean, "hw_prior_mean") self.hw_prior_std = build_scheduled_value(self.hw_prior_std, "hw_prior_std") self.anchor_box = np.array(self.anchor_box)
def __init__(self, env, updater, scope=None, **kwargs): ap_iou_values = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] self.eval_funcs = { "AP_at_point_{}".format(int(10 * v)): BaselineAP(v) for v in ap_iou_values } self.eval_funcs["AP"] = BaselineAP(ap_iou_values) self.eval_funcs["MOT"] = BaselineMOTMetrics() self.cc_threshold = build_scheduled_value(self.cc_threshold, 'cc_threshold') try: self.cosine_threshold = build_scheduled_value( self.cosine_threshold, 'cosine_threshold') except Exception: self.cosine_threshold = None super().__init__(env, updater, scope=scope, **kwargs)
def __init__(self, env, updater, scope=None, **kwargs): super(AIR_Network, self).__init__(env, updater, scope=scope, **kwargs) ap_iou_values = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] self.eval_funcs = { "AP_at_point_{}".format(int(10 * v)): AIR_AP(v) for v in ap_iou_values } self.eval_funcs["AP"] = AIR_AP(ap_iou_values) self.training_wheels = build_scheduled_value(self.training_wheels, "training_wheels") self.scale_prior_mean = build_scheduled_value(self.scale_prior_mean, "scale_prior_mean") self.scale_prior_std = build_scheduled_value(self.scale_prior_std, "scale_prior_std") self.shift_prior_mean = build_scheduled_value(self.shift_prior_mean, "shift_prior_mean") self.shift_prior_std = build_scheduled_value(self.shift_prior_std, "shift_prior_std") self.z_pres_prior_log_odds = build_scheduled_value( self.z_pres_prior_log_odds, "z_pres_prior_log_odds")
def build_core_signals(self, context): self.weight = build_scheduled_value(self.weight_schedule, "{}-weight".format(self.name))
def __init__(self, **kwargs): if isinstance(self.count_prior_dist, str): self.count_prior_dist = eval(self.count_prior_dist) self.count_prior_log_odds = build_scheduled_value( self.count_prior_log_odds, "count_prior_log_odds") super().__init__(**kwargs)
def __init__(self, **kwargs): self.exp_rate = build_scheduled_value(self.exp_rate, "exp_rate") super().__init__(**kwargs)
def __init__(self, **kwargs): self.prior_log_odds = build_scheduled_value(self.prior_log_odds, "prior_log_odds") super().__init__(**kwargs)
def __init__(self, **kwargs): self.obj_concrete_temp = build_scheduled_value(self.obj_concrete_temp, "obj_concrete_temp") super().__init__(**kwargs)
def __init__(self, env, scope=None, **kwargs): self.lr_schedule = build_scheduled_value(self.lr_schedule, "lr") self.l2_schedule = build_scheduled_value(self.l2_schedule, "l2_weight") super().__init__(env, scope=scope, **kwargs)
def generate_signal(self, signal_key, context): if signal_key == "beta": return build_scheduled_value(self.beta_schedule, '{}-beta'.format(self.name)) else: raise Exception("NotImplemented")