nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
+
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);
nntrainer::Tensor A_fp32(batch, channel, height, width, t_type_nchw_fp32);
nntrainer::Tensor B_fp32(batch, channel, height_b, width_b, t_type_nchw_fp32);
- const float alpha = 1e-1;
- const int MOD = 10;
+ GEN_TEST_INPUT_RAND(A_fp32, 0, 1);
+ GEN_TEST_INPUT_RAND_B(B_fp32, 0, 1);
- GEN_TEST_INPUT(A, ((i * (batch * height * channel) + j * (batch * height) +
- k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT(A_fp32, ((i * (batch * height * channel) +
- j * (batch * height) + k * (width) + l + 1) %
- MOD) *
- alpha);
- GEN_TEST_INPUT_B(B_fp32, ((i * (batch * height_b * channel) +
- j * (batch * height_b) + k * (width_b) + l + 1) %
- MOD) *
- alpha);
+ A.copyData(A_fp32);
+ B.copyData(B_fp32);
nntrainer::Tensor C = A.dot(B, transA, transB);
nntrainer::Tensor C_fp32 = A_fp32.dot(B_fp32, transA, transB);