提交 22146f82 编写于 作者: Y yejianwu

update out_of_range unit test

上级 ed095d40
...@@ -9,8 +9,6 @@ ...@@ -9,8 +9,6 @@
#include "mace/core/tensor.h" #include "mace/core/tensor.h"
#include "mace/core/workspace.h" #include "mace/core/workspace.h"
#include "mace/kernels/opencl/helper.h" #include "mace/kernels/opencl/helper.h"
#include "mace/utils/tuner.h"
#include "mace/utils/utils.h"
namespace mace { namespace mace {
namespace kernels { namespace kernels {
...@@ -121,31 +119,33 @@ class OutOfRangeCheckTest : public ::testing::Test { ...@@ -121,31 +119,33 @@ class OutOfRangeCheckTest : public ::testing::Test {
TEST(OutOfRangeCheckTest, RandomTest) { TEST(OutOfRangeCheckTest, RandomTest) {
static unsigned int seed = time(NULL); static unsigned int seed = time(NULL);
index_t batch = 11 + rand_r(&seed) % 10; for (int round = 0; round < 10; ++round) {
index_t height = 12 + rand_r(&seed) % 100; index_t batch = 11 + rand_r(&seed) % 10;
index_t width = 13 + rand_r(&seed) % 100; index_t height = 12 + rand_r(&seed) % 100;
index_t channels = 14 + rand_r(&seed) % 50; index_t width = 13 + rand_r(&seed) % 100;
index_t channels = 14 + rand_r(&seed) % 50;
std::vector<index_t> buffer_shape = {batch, height, width, channels};
Workspace ws; std::vector<index_t> buffer_shape = {batch, height, width, channels};
Tensor *buffer = ws.CreateTensor("Buffer", Workspace ws;
GetDeviceAllocator(DeviceType::OPENCL), Tensor *buffer = ws.CreateTensor("Buffer",
DataTypeToEnum<float>::v()); GetDeviceAllocator(DeviceType::OPENCL),
buffer->Resize(buffer_shape); DataTypeToEnum<float>::v());
buffer->Resize(buffer_shape);
std::vector<size_t> image_shape;
Tensor *image = ws.CreateTensor("Image", std::vector<size_t> image_shape;
GetDeviceAllocator(DeviceType::OPENCL), Tensor *image = ws.CreateTensor("Image",
DataTypeToEnum<float>::v()); GetDeviceAllocator(DeviceType::OPENCL),
CalImage2DShape(buffer->shape(), IN_OUT_CHANNEL, &image_shape); DataTypeToEnum<float>::v());
image->ResizeImage(buffer->shape(), image_shape); CalImage2DShape(buffer->shape(), IN_OUT_CHANNEL, &image_shape);
ASSERT_FALSE(BufferToImageOpImpl(buffer, image, image_shape)); image->ResizeImage(buffer->shape(), image_shape);
ASSERT_FALSE(BufferToImageOpImpl(buffer, image, image_shape));
std::vector<size_t> overflow_image_shape = image_shape;
for (int i = 0; i < overflow_image_shape.size(); ++i) { std::vector<size_t> overflow_image_shape = image_shape;
overflow_image_shape[i] += 1; for (int i = 0; i < overflow_image_shape.size(); ++i) {
overflow_image_shape[i] += 1;
}
ASSERT_TRUE(BufferToImageOpImpl(buffer, image, overflow_image_shape));
} }
ASSERT_TRUE(BufferToImageOpImpl(buffer, image, overflow_image_shape));
} }
} // namespace kernels } // namespace kernels
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册