AI-PredictionClient

 view release on metacpan or  search on metacpan

lib/AI/PredictionClient/Classes/SimpleTensor.pm  view on Meta::CPAN

      DT_INT64      => 'int64Val',
      DT_BOOL       => 'boolVal',
      DT_COMPLEX128 => 'dcomplexVal',
      DT_RESOURCE   => 'resourceHandleVal'
    };
  });

sub value {
  my ($self, $value_aref) = @_;

  my $decoded_aref;

  my $value_type       = $self->dtype_values->{ $self->dtype };
  my $tensor_value_ref = \$self->tensor_ds->{$value_type};

  if ($value_aref) {

    if ($self->dtype eq 'DT_STRING' && !$self->use_base64_strings) {
      @$$tensor_value_ref
        = map { encode_base64(ref($_) ? $$_ : $_, '') } @$value_aref;
    } else {
      $$tensor_value_ref = $value_aref;
      delete $self->tensor_ds->{'stringVal'}
        ;  # When not a string delete convenience placeholder.
    }

    return [];

  } else {

    if ($self->dtype eq 'DT_STRING' && !$self->use_base64_strings) {
      @$decoded_aref = map { decode_base64($_) } @$$tensor_value_ref;
      return $decoded_aref;
    } else {
      return $$tensor_value_ref;
    }

  }
}
1;

__END__



( run in 0.303 second using v1.01-cache-2.11-cpan-26ccb49234f )