def __init__(self, name, layer, width): self.name = check.check_not_empty(name) self.layer = layer if layer is not None: check.check_gte(layer, 0) self.width = check.check_gte(width, 1)
def __init__(self, stream_fn, size=None, order_of_magnitude=None): self.stream_fn = check.check_function(stream_fn) which = check.check_exclusive({ "size": size, "order_of_magnitude": order_of_magnitude }) if which == "size": self.size = check.check_gte(size, 1) self.order_of_magnitude = util.order_of_magnitude(size) elif which == "order_of_magnitude": self.size = None self.order_of_magnitude = check.check_gte(order_of_magnitude, 0) else: self.size = None self.order_of_magnitude = None
def _within(self, candidate, target, operator, tolerance): check.check_lte(check.check_gte(tolerance, 0), 1) for i in range(len(candidate)): if operator[i] is None or operator[i] == "eq": if not (abs(candidate[i] - target[i]) < tolerance): return False elif operator[i] == "lt": if not (candidate[i] < (target[i] + tolerance)): return False elif operator[i] == "gt": if not (candidate[i] > (target[i] - tolerance)): return False else: raise ValueError("unknown operator: %s" % operator[i]) return True
def __init__(self, model_dir, step, version_key): self.model_dir = check.check_instance(model_dir, str) self.step = check.check_gte(check.check_instance(step, int), 0) self.version_key = check.check_instance(version_key, str)
def __init__(self, threshold, exclude_numbers): self.threshold = check.check_gte(threshold, 1) self.exclude_numbers = check.check_one_of(exclude_numbers, [True, False]) self.word_counts = {}
def __init__(self, words, elides, count): assert len(elides) == len(words) + 1 self.words = words self.elides = elides self.count = check.check_gte(count, 1)
def with_window_size(self, value): return self._copy("window_size", check.check_gte(value, 1))
def with_maximum_decays(self, value): return self._copy("maximum_decays", check.check_gte(value, 1))
def epochs(self, value=None): if value is None: return self._epochs self._epochs = check.check_gte(value, 1) return self
def with_dropout_rate(self, value=None): return self._copy("dropout_rate", check.check_gte(value, 0))
def with_epoch_size(self, value): return self._copy("epoch_size", check.check_gte(value, 1))
def auto_sentence_bleu(expected, actual): check.check_gte(len(expected), 1) ngrams = min(min(len(expected), len(actual)), 4) weight = 1.0 / ngrams return sentence_bleu([expected], actual, weights=tuple([weight] * ngrams))
def window(self, value=None): if value is None: return self._window self._window = check.check_gte(value, 1) return self
def absolute(self, value=None): if value is None: return self._absolute self._absolute = check.check_gte(value, 0.0) return self
def learning_rate(self, value=None): if value is None: return self._learning_rate self._learning_rate = check.check_gte(value, 0) return self
def dropout_rate(self, value=None): if value is None: return self._dropout_rate self._dropout_rate = check.check_gte(value, 0) return self
def with_learning_rate(self, value=None): return self._copy("learning_rate", check.check_gte(value, 0))
def batch(self, value=None): if value is None: return self._batch self._batch = check.check_gte(value, 1) return self