LogoLogo
Actions SDKGiza CLIDatasetsAgents
main
main
  • 👋Welcome
    • Orion
    • Why Validity ML?
  • 🧱Framework
    • Get Started
    • Contribute
    • Compatibility
    • Numbers
      • Fixed Point
        • fp.new
        • fp.new_unscaled
        • fp.from_felt
        • fp.abs
        • fp.ceil
        • fp.floor
        • fp.exp
        • fp.exp2
        • fp.log
        • fp.log2
        • fp.log10
        • fp.pow
        • fp.round
        • fp.sqrt
        • fp.sin
        • fp.atan
        • fp.sign
      • Complex Number
        • complex.acos
        • complex.acosh
        • complex.arg
        • complex.asin
        • complex.asinh
        • complex.atan
        • complex.atanh
        • complex.conjugate
        • complex.cos
        • complex.cosh
        • complex.exp
        • complex.exp2
        • complex.from_polar
        • complex.img
        • complex.ln
        • complex.log2
        • complex.log10
        • complex.mag
        • complex.new
        • complex.one
        • complex.pow
        • complex.real
        • complex.reciprocal
        • complex.sin
        • complex.sinh
        • complex.sqrt
        • complex.tan
        • complex.tanh
        • complex.to_polar
        • complex.zero
    • Operators
      • Tensor
        • tensor.new
        • tensor.at
        • tensor.min_in_tensor
        • tensor.min
        • tensor.max_in_tensor
        • tensor.max
        • tensor.stride
        • tensor.ravel_index
        • tensor.unravel_index
        • tensor.reshape
        • tensor.transpose
        • tensor.reduce_sum
        • tensor.argmax
        • tensor.argmin
        • tensor.matmul
        • tensor.exp
        • tensor.log
        • tensor.equal
        • tensor.greater
        • tensor.greater_equal
        • tensor.less
        • tensor.less_equal
        • tensor.abs
        • tensor.neg
        • tensor.ceil
        • tensor.cumsum
        • tensor.sin
        • tensor.cos
        • tensor.asin
        • tensor.flatten
        • tensor.sinh
        • tensor.asinh
        • tensor.cosh
        • tensor.acosh
        • tensor.tanh
        • tensor.atan
        • tensor.acos
        • tensor.sqrt
        • tensor.or
        • tensor.xor
        • tensor.onehot
        • tensor.slice
        • tensor.concat
        • tensor.gather
        • tensor.quantize_linear
        • tensor.dequantize_linear
        • tensor.qlinear_add
        • tensor.qlinear_mul
        • tensor.qlinear_matmul
        • tensor.qlinear_concat
        • tensor.qlinear_leakyrelu
        • tensor.nonzero
        • tensor.squeeze
        • tensor.unsqueeze
        • tensor.sign
        • tensor.clip
        • tensor.identity
        • tensor.and
        • tensor.where
        • tensor.bitwise_and
        • tensor.bitwise_xor
        • tensor.bitwise_or
        • tensor.resize
        • tensor.round
        • tensor.scatter
        • tensor.array_feature_extractor
        • tensor.binarizer
        • tensor.reduce_sum_square
        • tensor.reduce_l2
        • tensor.reduce_l1
        • tensor.reduce_prod
        • tensor.gather_elements
        • tensor.gather_nd
        • tensor.reduce_min
        • tensor.shrink
        • tensor.reduce_mean
        • tensor.pow
        • tensor.is_nan
        • tensor.is_inf
        • tensor.not
        • tensor.erf
        • tensor.reduce_log_sum
        • tensor.reduce_log_sum_exp
        • tensor.unique
        • tensor.compress
        • tensor.layer_normalization
        • tensor.scatter_nd
        • tensor.dynamic_quantize_linear
        • tensor.optional
        • tensor.reverse_sequence
        • tensor.split_to_sequence
        • tensor.range
        • tensor.hann_window
        • tensor.hamming_window
        • tensor.blackman_window
        • tensor.random_uniform_like
        • tensor.label_encoder
      • Neural Network
        • nn.relu
        • nn.leaky_relu
        • nn.sigmoid
        • nn.softmax
        • nn.softmax_zero
        • nn.logsoftmax
        • nn.softsign
        • nn.softplus
        • nn.linear
        • nn.hard_sigmoid
        • nn.thresholded_relu
        • nn.gemm
        • nn.grid_sample
        • nn.col2im
        • nn.conv_transpose
        • nn.conv
        • nn.depth_to_space
        • nn.space_to_depth
      • Machine Learning
        • Tree Ensemble Classifier
          • tree_ensemble_classifier.predict
        • Tree Ensemble Regressor
          • tree_ensemble_regressor.predict
        • Linear Classifier
          • linear_classifier.predict
        • Linear Regressor
          • linear_regressor.predict
        • SVM Regressor
          • svm_regressor.predict
        • SVM Classifier
          • svm_classifier.predict
        • Sequence
          • sequence.sequence_construct
          • sequence.sequence_empty
          • sequence.sequence_length
          • sequence.sequence_at
          • sequence.sequence_empty
          • sequence.sequence_erase
          • sequence.sequence_insert
          • sequence.concat_from_sequence
        • Normalizer
          • normalize.predict
  • 🏛️Hub
    • Models
    • Spaces
  • 🧑‍🎓Academy
    • Tutorials
      • MNIST Classification with Orion
      • Implement new operators in Orion
      • Verifiable Linear Regression Model
      • Verifiable Support Vector Machine
      • Verifiable Principal Components Analysis
      • Provable MLR: Forecasting AAVE's Lifetime Repayments
Powered by GitBook
On this page
  • Args
  • Panics
  • Returns
  • Type Constraints
  • Examples

Was this helpful?

Edit on GitHub
  1. Framework
  2. Operators
  3. Tensor

tensor.label_encoder

fn label_encoder(self: @Tensor<T>, default_list: Option<Span<T>>, default_tensor: Option<Tensor<T>>, keys: Option<Span<T>>, keys_tensor: Option<Tensor<T>>, values: Option<Span<T>>, values_tensor: Option<Tensor<T>>) -> Tensor<T>;

Maps each element in the input tensor to another value.

The mapping is determined by the two parallel attributes, 'keys_' and 'values_' attribute. The i-th value in the specified 'keys_' attribute would be mapped to the i-th value in the specified 'values_' attribute. It implies that input's element type and the element type of the specified 'keys_' should be identical while the output type is identical to the specified 'values_' attribute.

Args

  • self(@Tensor<T>) - The input tensor.

  • default_list(Option<Span<T>>) - The default span.

  • default_tensor(Option<Tensor<T>>) - The default tensor.

  • keys(Option<Span<T>>) - The keys span.

  • keys_tensor(Option<Tensor<T>>) - The keys tensor.

  • values( Option<Span<T>>) - The values span.

  • values_tensor(Option<Tensor<T>>) - The values tensor.

One and only one of 'default_'s should be set One and only one of 'keys's should be set One and only one of 'values*'s should be set.

Panics

  • Panics if the len/shape of keys and values are not the same.

Returns

A new Tensor<T> which maps each element in the input tensor to another value..

Type Constraints

  • T in (Tensor<FP>, Tensor<i8>, Tensor<i32>, tensor<u32>,)

Examples

use array::{ArrayTrait, SpanTrait};
use orion::operators::tensor::U32Tensor;
use orion::operators::tensor::{TensorTrait, Tensor, U32Tensor};

fn label_encoder_example() -> Tensor<T>,  {
   fn data() -> Tensor<u32> {
       let mut sizes = ArrayTrait::new();
       sizes.append(2);
       sizes.append(3);
       let mut data = ArrayTrait::new();
       data.append(1);
       data.append(2);
       data.append(3);
       data.append(1);
       data.append(4);
       data.append(5);

       let tensor = TensorTrait::<u32>::new(sizes.span(), data.span());
       return tensor;
   }

   fn keys() -> Tensor<u32> {
       let mut sizes = ArrayTrait::new();
       sizes.append(3);
       sizes.append(1);

       let mut data = ArrayTrait::new();
       data.append(1);
       data.append(2);
       data.append(1);

       let tensor = TensorTrait::<u32>::new(sizes.span(), data.span());
       return tensor;
   }

   fn values() -> Tensor<u32> {
       let mut sizes = ArrayTrait::new();
       sizes.append(3);
       sizes.append(1);

       let mut data = ArrayTrait::new();
       data.append(8);
       data.append(9);
       data.append(7);

       let tensor = TensorTrait::<u32>::new(sizes.span(), data.span());
       return tensor;
   }

   fn default() -> Tensor<u32> {
       let mut sizes = ArrayTrait::new();
       sizes.append(1);

       let mut data = ArrayTrait::new();
       data.append(999);

       let tensor = TensorTrait::<u32>::new(sizes.span(), data.span());
       return tensor;
   }

   let data = data();
   let keys = keys();
   let values = values();
   let default = default();
   return data.label_encoder(default_list: Option::None, default_tensor: Option::Some(default),
        keys: Option::None, keys_tensor: Option::Some(keys),  
        values: Option::None, values_tensor: Option::Some(values));
>>> [7, 9, 999, 7, 999, 999],
Previoustensor.random_uniform_likeNextNeural Network

Last updated 1 year ago

Was this helpful?

🧱