| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import pytest |
| |
|
| | import ncnn |
| |
|
| | alloctor = ncnn.PoolAllocator() |
| |
|
| |
|
| | def test_extractor(): |
| | with pytest.raises(TypeError, match="No constructor"): |
| | ex = ncnn.Extractor() |
| |
|
| | dr = ncnn.DataReaderFromEmpty() |
| |
|
| | net = ncnn.Net() |
| | net.load_param("tests/test.param") |
| | net.load_model(dr) |
| |
|
| | in_mat = ncnn.Mat((227, 227, 3)) |
| | with net.create_extractor() as ex: |
| | ex.set_light_mode(True) |
| | ex.set_num_threads(2) |
| |
|
| | ex.set_blob_allocator(alloctor) |
| | ex.set_workspace_allocator(alloctor) |
| |
|
| | ex.input("data", in_mat) |
| | ret, out_mat = ex.extract("conv0_fwd") |
| | assert ( |
| | ret == 0 |
| | and out_mat.dims == 3 |
| | and out_mat.w == 225 |
| | and out_mat.h == 225 |
| | and out_mat.c == 3 |
| | ) |
| |
|
| | ret, out_mat = ex.extract("output") |
| | assert ret == 0 and out_mat.dims == 1 and out_mat.w == 1 |
| |
|
| |
|
| | def test_extractor_index(): |
| | with pytest.raises(TypeError, match="No constructor"): |
| | ex = ncnn.Extractor() |
| |
|
| | dr = ncnn.DataReaderFromEmpty() |
| |
|
| | net = ncnn.Net() |
| | net.load_param("tests/test.param") |
| | net.load_model(dr) |
| |
|
| | in_mat = ncnn.Mat((227, 227, 3)) |
| | ex = net.create_extractor() |
| | ex.set_light_mode(True) |
| | ex.set_num_threads(2) |
| |
|
| | ex.set_blob_allocator(alloctor) |
| | ex.set_workspace_allocator(alloctor) |
| |
|
| | ex.input(0, in_mat) |
| | ret, out_mat = ex.extract(1) |
| | assert ( |
| | ret == 0 |
| | and out_mat.dims == 3 |
| | and out_mat.w == 225 |
| | and out_mat.h == 225 |
| | and out_mat.c == 3 |
| | ) |
| |
|
| | ret, out_mat = ex.extract(2) |
| | assert ret == 0 and out_mat.dims == 1 and out_mat.w == 1 |
| |
|
| | |
| | ex.clear() |
| |
|