Download python/tests/test_extractor.py from camenduru/ncnn: direct link, hf CLI and curl.
- Browser
- Download file 2.43 kB
-
https://huggingface.co/camenduru/ncnn/resolve/main/python/tests/test_extractor.py
- Command line
-
hf download hf://camenduru/ncnn/python/tests/test_extractor.py
-
curl -L -o test_extractor.py https://huggingface.co/camenduru/ncnn/resolve/main/python/tests/test_extractor.py
2.43 kB
| # Tencent is pleased to support the open source community by making ncnn available. | |
| # | |
| # Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved. | |
| # | |
| # Licensed under the BSD 3-Clause License (the "License"); you may not use this file except | |
| # in compliance with the License. You may obtain a copy of the License at | |
| # | |
| # https://opensource.org/licenses/BSD-3-Clause | |
| # | |
| # Unless required by applicable law or agreed to in writing, software distributed | |
| # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR | |
| # CONDITIONS OF ANY KIND, either express or implied. See the License for the | |
| # specific language governing permissions and limitations under the License. | |
| 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 | |
| # not use with sentence, call clear manually to ensure ex destruct before net | |
| ex.clear() | |