Exemple #1
0
  def _split_repeated_holdout(self, split_ratio, is_stratified_sampling=True, idx=[]):
    assert(self.train_or_test in ['train','sample'])

    # split by t/v
    if is_stratified_sampling:
      labels_num = len(set(idx))
      labels_index = [[] for _ in range(labels_num)]
      for index, label in enumerate(idx):
        labels_index[label].append(index)

      train_idx = [[] for _ in range(labels_num)]
      validation_idx = [[] for _ in range(labels_num)]
      for label in range(labels_num):
        label_samples = labels_index[label]
        get_rng().shuffle(label_samples)

        top_k = int(split_ratio * len(label_samples))
        train_idx[label].extend(label_samples[0:top_k])
        validation_idx[label].extend((label_samples[top_k:]))

      train_idx = reduce(lambda x, y: x+y, train_idx)
      validation_idx = reduce(lambda x, y: x+y, validation_idx)

      return train_idx, validation_idx
    else:
      index = range(len(idx))
      get_rng().shuffle(index)
      top_k = int(split_ratio * len(idx))
      train_idx = index[0:top_k]
      validation_idx = (index[top_k:])
      return train_idx, validation_idx
Exemple #2
0
 def __init__(self, inputs):
     super(RandomMixData, self).__init__(name=None,
                                         action=None,
                                         inputs=inputs)
     self.rng = get_rng(self)
     self.input_list_flag = np.ones((len(self._positional_inputs)),
                                    dtype=np.uint8)
Exemple #3
0
    def __init__(self, inputs, propabilitys):
        super(RandomChooseData, self).__init__(name=None,
                                               action=None,
                                               inputs=inputs)
        self.input_list = []
        self.input_list.extend([i for i in self._positional_inputs])

        self.propability_list = tuple(propabilitys)
        self.rng = get_rng(self)
Exemple #4
0
 def __init__(self, inputs, capacity=100, samples_per_class=1, classes=[]):
     super(Episode, self).__init__(name=None, action=None, inputs=inputs)
     self.samples_per_class = samples_per_class
     self.classes = classes
     self.capacity = capacity
     self.consume_num = 0
     self.episode_train = _TransparantNode(upper_node=Node.inputs(self),
                                           name='episode-train',
                                           active_request=False)
     self.is_episode_ok = False
     self.episode_classes_map = {c: i for i, c in enumerate(self.classes)}
     self.rng = get_rng(self)
Exemple #5
0
  def _split_bootstrap(self, idx):
    assert(self.train_or_test in ['train','sample'])

    is_ok = False
    train_idx = []
    validation_idx = []
    while not is_ok:
      selected_idx = get_rng().randint(low=0, high=len(idx)-1, size=len(idx)).tolist()
      train_idx = selected_idx
      validation_idx = [i for i in range(len(idx)) if i not in selected_idx]

      if len(validation_idx) > 0:
        is_ok = True

    return train_idx, validation_idx
Exemple #6
0
    def __init__(self, inputs=None, horiz=True, vert=False, prob=0.5):
        super(Flip, self).__init__(name=None,
                                   action=self.action,
                                   inputs=inputs)
        """
    Only one of horiz, vert can be set.

    :param horiz: whether or not apply horizontal flip.
    :param vert: whether or not apply vertical flip.
    :param prob: probability of flip.
    """
        if horiz and vert:
            raise ValueError("Please use two Flip instead.")
        elif horiz:
            self.code = 1
        elif vert:
            self.code = 0
        else:
            raise ValueError("Are you kidding?")
        self.prob = prob
        self.rng = get_rng(self)
Exemple #7
0
 def rng(self):
   if self._is_data_rng:
     self.data_rng = get_rng(self)
   return self.data_rng
Exemple #8
0
 def __init__(self, inputs=None, sigma=10):
     super(DisturbNoise, self).__init__(name=None,
                                        action=self.action,
                                        inputs=inputs)
     self._sigma = sigma
     self.rng = get_rng(self)
Exemple #9
0
 def __init__(self, inputs=None, max_lighting=10):
     super(DisturbLighting, self).__init__(name=None,
                                           action=self.action,
                                           inputs=inputs)
     self._max_lighting = max_lighting
     self.rng = get_rng(self)
Exemple #10
0
 def __init__(self, inputs=None, max_deg=10):
     super(DisturbRotation, self).__init__(name=None,
                                           action=self.action,
                                           inputs=inputs)
     self._max_deg = max_deg
     self.rng = get_rng(self)