def one_hot_encoding(labels, num_classes, on_value=1.0, off_value=0.0, outputs_collections=None, scope=None): """Transform numeric labels into onehot_labels using tf.one_hot. Args: labels: [batch_size] target labels. num_classes: total number of classes. on_value: A scalar defining the on-value. off_value: A scalar defining the off-value. outputs_collections: collection to add the outputs. scope: Optional scope for op_scope. Returns: one hot encoding of the labels. """ with ops.op_scope([labels, num_classes], scope, 'OneHotEncoding') as sc: if labels.dtype == dtypes.int32: labels = standard_ops.to_int64(labels) outputs = standard_ops.one_hot(labels, num_classes, on_value=on_value, off_value=off_value) return utils.collect_named_outputs(outputs_collections, sc, outputs)
def one_hot_encoding(target, n_classes, on_value=1.0, off_value=0.0, name="OneHotEncoding"): """ One Hot Encoding. Transform numeric labels into a binary vector. Input: The Labels Placeholder. Output: 2-D Tensor, The encoded labels. Arguments: target: `Placeholder`. The labels placeholder. n_classes: `int`. Total number of classes. on_value: `scalar`. A scalar defining the on-value. off_value: `scalar`. A scalar defining the off-value. name: A name for this layer (optional). Default: 'OneHotEncoding'. """ with tf.name_scope(name): if target.dtype != dtypes.int64: target = standard_ops.to_int64(target) target = standard_ops.one_hot(target, n_classes, on_value=on_value, off_value=off_value) # Track output tensor. tf.add_to_collection(tf.GraphKeys.LAYER_TENSOR + '/' + name, target) return target
def one_hot_encoding(target, n_classes, on_value=1.0, off_value=1.0, name="OneHotEncoding"): """ One Hot Encoding. Transform numeric labels into a binary vector. Input: The Labels Placeholder. Output: 2-D Tensor, The encoded labels. Arguments: target: `Placeholder`. The labels placeholder. n_classes: `int`. Total number of classes. on_value: `scalar`. A scalar defining the on-value. off_value: `scalar`. A scalar defining the off-value. name: A name for this layer (optional). Default: 'OneHotEncoding'. """ with tf.name_scope(name): if target.dtype == tf.dtypes.int32: target = standard_ops.to_int64(target) target = standard_ops.one_hot(target, n_classes, on_value=on_value, off_value=off_value) # Track output tensor. tf.add_to_collection(tf.GraphKeys.LAYER_TENSOR + '/' + name, target) return target
def _build(self, incoming, *args, **kwargs): """ Args: incoming: The Labels Placeholder. Returns: 2-D Tensor, The encoded labels. """ if incoming.dtype != dtypes.int64: incoming = standard_ops.to_int64(incoming) incoming = standard_ops.one_hot(indices=incoming, depth=self.n_classes, on_value=self.on_value, off_value=self.off_value) track(incoming, tf.GraphKeys.LAYER_TENSOR, self.module_name) return incoming