Skip to content

Commit

Permalink
variable sharing (#1028)
Browse files Browse the repository at this point in the history
Co-authored-by: hejunchao <hejunchao@canaan-creative.com>
  • Loading branch information
HeJunchao100813 and hejunchao committed Jul 31, 2023
1 parent dcb9942 commit 3535d30
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 19 deletions.
5 changes: 3 additions & 2 deletions tests/kernels/test_celu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,10 @@ INSTANTIATE_TEST_SUITE_P(

TEST_P(CeluTest, celu) {
auto input_ort = runtime_tensor_2_ort_tensor(input);
auto alpha = 1.2f;

// expected
auto output_ort = ortki_Celu(input_ort, 1.2f);
auto output_ort = ortki_Celu(input_ort, alpha);
size_t size = 0;
void *ptr_ort = tensor_buffer(output_ort, &size);
dims_t shape(tensor_rank(output_ort));
Expand All @@ -68,7 +69,7 @@ TEST_P(CeluTest, celu) {
.expect("create tensor failed");

// actual
float_t a_ptr[] = {1.2f};
float_t a_ptr[] = {alpha};
auto a = hrt::create(nncase::dt_float32, {1},
{reinterpret_cast<gsl::byte *>(a_ptr), sizeof(a_ptr)},
true, host_runtime_tensor::pool_cpu_only)
Expand Down
5 changes: 3 additions & 2 deletions tests/kernels/test_elu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@ INSTANTIATE_TEST_SUITE_P(

TEST_P(EluTest, elu) {
auto l_ort = runtime_tensor_2_ort_tensor(input);
auto alpha = 0.8f;

// expected
auto output_ort = ortki_Elu(l_ort, 0.8f);
auto output_ort = ortki_Elu(l_ort, alpha);
size_t size = 0;
void *ptr_ort = tensor_buffer(output_ort, &size);
dims_t shape(tensor_rank(output_ort));
Expand All @@ -67,7 +68,7 @@ TEST_P(EluTest, elu) {
.expect("create tensor failed");

// actual
float_t a_ptr[] = {0.8f};
float_t a_ptr[] = {alpha};
auto a = hrt::create(nncase::dt_float32, {1},
{reinterpret_cast<gsl::byte *>(a_ptr), sizeof(a_ptr)},
true, host_runtime_tensor::pool_cpu_only)
Expand Down
8 changes: 5 additions & 3 deletions tests/kernels/test_hard_swish.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,24 +52,26 @@ INSTANTIATE_TEST_SUITE_P(

TEST_P(HardSwishTest, hard_swish) {
auto l_ort = runtime_tensor_2_ort_tensor(input);
auto alpha_value = 1.0f / 6.0f;
auto beta_value = 0.5f;

// expected
float_t alpha_ptr[] = {1.0f / 6.0f};
float_t alpha_ptr[] = {alpha_value};
auto alpha = hrt::create(nncase::dt_float32, {1},
{reinterpret_cast<gsl::byte *>(alpha_ptr),
sizeof(alpha_ptr)},
true, host_runtime_tensor::pool_cpu_only)
.expect("create tensor failed");

float_t beta_ptr[] = {0.5f};
float_t beta_ptr[] = {beta_value};
auto beta =
hrt::create(nncase::dt_float32, {1},
{reinterpret_cast<gsl::byte *>(beta_ptr), sizeof(beta_ptr)},
true, host_runtime_tensor::pool_cpu_only)
.expect("create tensor failed");

auto output_ort =
ortki_Mul(l_ort, ortki_HardSigmoid(l_ort, 1.0f / 6.0f, 0.5f));
ortki_Mul(l_ort, ortki_HardSigmoid(l_ort, alpha_value, beta_value));
size_t size = 0;
void *ptr_ort = tensor_buffer(output_ort, &size);
dims_t shape(tensor_rank(output_ort));
Expand Down
12 changes: 7 additions & 5 deletions tests/kernels/test_layer_norm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,11 @@ TEST_P(LayerNormTest, layer_norm) {
auto l_ort = runtime_tensor_2_ort_tensor(input);
auto scale_ort = runtime_tensor_2_ort_tensor(scale);
auto b_ort = runtime_tensor_2_ort_tensor(b);
auto eps = 1e-05f;

// expected
auto output_ort = ortki_LayerNormalization(l_ort, scale_ort, b_ort,
axis_value, 1e-05f, 1L);
auto output_ort =
ortki_LayerNormalization(l_ort, scale_ort, b_ort, axis_value, eps, 1L);
size_t size = 0;
void *ptr_ort = tensor_buffer(tensor_seq_get_value(output_ort, 0), &size);
dims_t shape(tensor_rank(tensor_seq_get_value(output_ort, 0)));
Expand All @@ -103,9 +104,10 @@ TEST_P(LayerNormTest, layer_norm) {
.expect("create tensor failed");

// actual
auto output = kernels::stackvm::layer_norm(axis_value, 1e-05f, input.impl(),
scale.impl(), b.impl())
.expect("layer_norm failed");
auto output =
kernels::stackvm::layer_norm((int32_t)axis_value, eps, input.impl(),
scale.impl(), b.impl())
.expect("layer_norm failed");
runtime_tensor actual(output.as<tensor>().expect("as tensor failed"));

bool result = is_same_tensor(expected, actual) ||
Expand Down
10 changes: 6 additions & 4 deletions tests/kernels/test_quantize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,17 +54,19 @@ INSTANTIATE_TEST_SUITE_P(

TEST_P(QuantizeTest, quantize) {
auto l_ort = runtime_tensor_2_ort_tensor(input);
auto zero_point_value = 127;
auto scale_value = 0.01f;

// expected
uint8_t zero_point[] = {127};
uint8_t zero_point[] = {(uint8_t)zero_point_value};
auto zero_point_ptr =
hrt::create(
nncase::dt_uint8, {1},
{reinterpret_cast<gsl::byte *>(zero_point), sizeof(zero_point)},
true, host_runtime_tensor::pool_cpu_only)
.expect("create tensor failed");

float_t scale[] = {0.01f};
float_t scale[] = {scale_value};
auto scale_ptr =
hrt::create(nncase::dt_float32, {1},
{reinterpret_cast<gsl::byte *>(scale), sizeof(scale)}, true,
Expand All @@ -84,8 +86,8 @@ TEST_P(QuantizeTest, quantize) {

// actual
quant_param_t quantParam;
quantParam.zero_point = 127;
quantParam.scale = 0.01f;
quantParam.zero_point = zero_point_value;
quantParam.scale = scale_value;
quant_param_t quant_param[] = {quantParam};
auto quant_param_ptr =
hrt::create(
Expand Down
8 changes: 5 additions & 3 deletions tests/kernels/test_selu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,24 @@ INSTANTIATE_TEST_SUITE_P(

TEST_P(SeluTest, Selu) {
auto l_ort = runtime_tensor_2_ort_tensor(input);
auto alpha_value = 1.5f;
auto gamma_value = 1.5f;

// expected
float_t alpha_ptr[] = {1.5f};
float_t alpha_ptr[] = {alpha_value};
auto alpha = hrt::create(nncase::dt_float32, {1},
{reinterpret_cast<gsl::byte *>(alpha_ptr),
sizeof(alpha_ptr)},
true, host_runtime_tensor::pool_cpu_only)
.expect("create tensor failed");

float_t gamma_ptr[] = {1.5f};
float_t gamma_ptr[] = {gamma_value};
auto gamma = hrt::create(nncase::dt_float32, {1},
{reinterpret_cast<gsl::byte *>(gamma_ptr),
sizeof(gamma_ptr)},
true, host_runtime_tensor::pool_cpu_only)
.expect("create tensor failed");
auto output_ort = ortki_Selu(l_ort, 1.5f, 1.5f);
auto output_ort = ortki_Selu(l_ort, alpha_value, gamma_value);
size_t size = 0;
void *ptr_ort = tensor_buffer(output_ort, &size);
dims_t shape(tensor_rank(output_ort));
Expand Down

0 comments on commit 3535d30

Please sign in to comment.