You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

warp_perspective.cpp 1.5 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * \file dnn/test/dispatcher/warp_perspective.cpp
  3. * MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  4. *
  5. * Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
  6. *
  7. * Unless required by applicable law or agreed to in writing,
  8. * software distributed under the License is distributed on an
  9. * "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. */
  11. #include "test/cpu/fixture.h"
  12. #include "megdnn/oprs/imgproc.h"
  13. #include "test/common/null_dispatcher.h"
  14. #include "test/common/utils.h"
  15. namespace megdnn {
  16. namespace test {
  17. #if !MEGDNN_NO_THREAD
  18. TEST(DISPATCHER, WARP_PERSPECTIVE) {
  19. std::shared_ptr<MegcoreCPUDispatcher> dispatcher =
  20. std::make_shared<NullDispatcher>();
  21. auto handle = create_cpu_handle_with_dispatcher(0, dispatcher);
  22. auto opr = handle->create_operator<WarpPerspective>();
  23. auto src_layout = TensorLayout({2, 3, 10, 10}, dtype::Float32()),
  24. mat_layout = TensorLayout({2, 3, 3}, dtype::Float32()),
  25. dst_layout = TensorLayout({2, 3, 10, 10}, dtype::Float32());
  26. TensorND src(nullptr, src_layout), mat(nullptr, mat_layout),
  27. dst(nullptr, dst_layout);
  28. opr->param().imode = param::WarpPerspective::InterpolationMode::LINEAR;
  29. auto wsize = opr->get_workspace_in_bytes(src_layout, mat_layout, dst_layout);
  30. Workspace workspace(nullptr, wsize);
  31. opr->exec(src, mat, dst, workspace);
  32. }
  33. #endif
  34. } // namespace test
  35. } // namespace megdnn
  36. // vim: syntax=cpp.doxygen