ncnn is a high-performance neural network inference framework optimized for the mobile platform
This report summarizes scanner evidence for Tencent/ncnn, a C++ project with 24,014 GitHub stars. SynthScan examined 1,278,952 lines of code across 3904 source files, recording 1495 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 1.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 917 finding(s).
Are imports declared and package/API names verified? 567 finding(s).
Are wrappers, guards, and repeated structures necessary? 65 finding(s).
Which changes need focused human review? 1495 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1495 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/benchncnn.cpp | 1 | // Copyright 2018 Tencent | COMMENT |
| LOW | benchmark/benchncnn_llm.cpp | 1 | // Copyright 2026 Tencent | COMMENT |
| LOW | benchmark/RankCards/Rcards.h | 1 | // Copyright 2017 Tencent | COMMENT |
| LOW | benchmark/RankCards/Rcards.h | 21 | #include <sys/stat.h> | COMMENT |
| LOW | benchmark/RankCards/main.cpp | 1 | // Copyright 2017 Tencent | COMMENT |
| LOW | tools/modelwriter.h | 1 | // Copyright 2019 Tencent | COMMENT |
| LOW | tools/modelwriter.h | 21 | // ncnn private header | COMMENT |
| LOW | tools/modelwriter.h | 41 | #include "layer/deconvolutiondepthwise1d.h" | COMMENT |
| LOW | tools/modelwriter.h | 61 | #include "layer/hardsigmoid.h" | COMMENT |
| LOW | tools/modelwriter.h | 81 | #include "layer/pooling3d.h" | COMMENT |
| LOW | tools/modelwriter.h | 101 | #include "layer/slice.h" | COMMENT |
| LOW | tools/ncnnoptimize.cpp | 1 | // Copyright 2019 Tencent | COMMENT |
| LOW | tools/ncnn2mem.cpp | 1 | // Copyright 2017 Tencent | COMMENT |
| LOW | tools/quantize/ncnn2int8.cpp | 1 | // Copyright 2019 BUG1989 | COMMENT |
| LOW | tools/quantize/ncnnllm2table.cpp | 1 | // Copyright 2026 Tencent | COMMENT |
| LOW | tools/quantize/npy.hpp | 21 | */ | COMMENT |
| LOW | tools/quantize/imreadwrite.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/quantize/imreadwrite.cpp | 81 | COMMENT | |
| LOW | tools/quantize/ncnn2table.cpp | 1 | // Copyright 2019 BUG1989 (https://github.com/BUG1989/) Long-term support. | COMMENT |
| LOW | tools/quantize/ncnn2table.cpp | 21 | #include "imreadwrite.h" | COMMENT |
| LOW | tools/quantize/ncnnllm2int.cpp | 1 | // Copyright 2019 BUG1989 | COMMENT |
| LOW | tools/onnx/onnx2ncnn.cpp | 1 | // Copyright 2017 Tencent | COMMENT |
| LOW | tools/mlir/tf_types.h | 21 | #include "mlir/IR/BuiltinTypes.h" // from @llvm-project | COMMENT |
| LOW | tools/mlir/tf_types.h | 341 | // - the types are statically equal | COMMENT |
| LOW | tools/mlir/tf_types.h | 361 | // If `ty` is a tensor type and its element type has subtypes, then returns a | COMMENT |
| LOW | tools/mlir/tf_dialect.h | 1 | // Copyright 2020 Tencent | COMMENT |
| LOW | tools/mlir/tf_dialect.cpp | 1 | // Copyright 2020 Tencent | COMMENT |
| LOW | tools/mlir/tf_dialect.cpp | 21 | #include <mlir/IR/Value.h> | COMMENT |
| LOW | tools/mlir/tf_dialect.cpp | 61 | #define GET_OP_LIST | COMMENT |
| LOW | tools/mlir/mlir2ncnn.cpp | 1 | // Copyright 2020 Tencent | COMMENT |
| LOW | tools/mlir/tf_attributes.h | 61 | COMMENT | |
| LOW | tools/caffe/caffe2ncnn.cpp | 1 | // Copyright 2017 Tencent | COMMENT |
| LOW | tools/pnnx/src/utils.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_level3.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/ir.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_level2.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/ir.h | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_level1.cpp | 381 | // auto fun_type = function_constant->output()->type()->expect<torch::jit::FunctionType>(); | COMMENT |
| LOW | tools/pnnx/src/storezip.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_level5.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_level5.cpp | 21 | #include "pass_level5/eval_expression.h" | COMMENT |
| LOW | tools/pnnx/src/pass_level5.cpp | 41 | #include "pass_level5/fuse_silu.h" | COMMENT |
| LOW | tools/pnnx/src/load_tnn.cpp | 1 | // Copyright 2025 Tencent | COMMENT |
| LOW | tools/pnnx/src/load_onnx.cpp | 1 | // Copyright 2024 Tencent | COMMENT |
| LOW | tools/pnnx/src/model_stat.cpp | 1 | // Copyright 2026 Tencent | COMMENT |
| LOW | tools/pnnx/src/load_torchscript.cpp | 1 | // Copyright 2024 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_ncnn.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_ncnn.cpp | 21 | #include "pass_ncnn/convert_Tensor_select.h" | COMMENT |
| LOW | tools/pnnx/src/pass_ncnn.cpp | 41 | #include "pass_ncnn/fuse_padding_convolutiondepthwise.h" | COMMENT |
| LOW | tools/pnnx/src/save_ncnn.cpp | 301 | fwrite(attr.data.data(), attr.data.size(), 1, binfp); | COMMENT |
| LOW | tools/pnnx/src/save_ncnn.cpp | 321 | // } | COMMENT |
| LOW | tools/pnnx/src/main.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| LOW | tools/pnnx/src/main.cpp | 21 | #include "pass_level5.h" | COMMENT |
| LOW | tools/pnnx/src/pass_onnx.cpp | 1 | // Copyright 2024 Tencent | COMMENT |
| LOW | tools/pnnx/src/pass_level1/nn_quantized_Linear.cpp | 41 | // for (const auto& n : graph->nodes()) | COMMENT |
| LOW | tools/pnnx/src/pass_level1/nn_quantized_Linear.cpp | 101 | graph.dump(); | COMMENT |
| LOW | tools/pnnx/src/pass_level1/nn_quantized_DeQuantize.cpp | 21 | // void write(Operator* op, const TorchGraphProxy& graph, const TorchModuleProxy& mod) const | COMMENT |
| LOW | tools/pnnx/src/pass_level1/nn_quantized_Conv2d.cpp | 41 | // if (n->kind() == c10::prim::GetAttr && n->s(torch::jit::attr::name) == "_packed_params") | COMMENT |
| LOW | tools/pnnx/src/pass_level1/nn_quantized_Conv2d.cpp | 121 | COMMENT | |
| LOW | tools/pnnx/src/pass_level0/shape_inference.cpp | 1 | // Copyright 2021 Tencent | COMMENT |
| 767 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pnnx/python/setup.py | 5 | CODE | |
| LOW | tools/pnnx/python/setup.py | 10 | CODE | |
| LOW | tools/pnnx/python/tests/test_naiveinput_export.py | 4 | CODE | |
| LOW | tools/pnnx/python/tests/test_naiveinput_export.py | 10 | CODE | |
| LOW | tools/pnnx/python/tests/test_naiveinput_convert.py | 4 | CODE | |
| LOW | tools/pnnx/python/tests/test_naiveinput_convert.py | 10 | CODE | |
| LOW | tools/pnnx/python/tests/test_convert.py | 4 | CODE | |
| LOW | tools/pnnx/python/tests/test_convert.py | 10 | CODE | |
| LOW | tools/pnnx/python/tests/test_dynamicinput_export.py | 4 | CODE | |
| LOW | tools/pnnx/python/tests/test_dynamicinput_export.py | 10 | CODE | |
| LOW | tools/pnnx/python/tests/test_dynamicinput_convert.py | 4 | CODE | |
| LOW | tools/pnnx/python/tests/test_dynamicinput_convert.py | 10 | CODE | |
| LOW | tools/pnnx/python/tests/test_export.py | 4 | CODE | |
| LOW | tools/pnnx/python/tests/test_export.py | 10 | CODE | |
| LOW | tools/pnnx/python/pnnx/__init__.py | 17 | CODE | |
| LOW | tools/pnnx/python/pnnx/__init__.py | 18 | CODE | |
| LOW | tools/pnnx/python/pnnx/utils/__init__.py | 4 | CODE | |
| LOW | tools/pnnx/python/pnnx/utils/__init__.py | 5 | CODE | |
| LOW | tools/pnnx/python/pnnx/utils/export.py | 5 | CODE | |
| LOW | tools/pnnx/tests/test_nn_LSTM.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_matmul.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_transformers_electra_attention.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_PixelShuffle.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_gather.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_zeros_like.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_LPPool1d.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_pnnx_fuse_multiheadattention.py | 10 | CODE | |
| LOW | tools/pnnx/tests/test_pnnx_fuse_multiheadattention.py | 10 | CODE | |
| LOW | tools/pnnx/tests/test_torch_imag.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_index_select.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_Softmax.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_rsqrt.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_ConvTranspose1d.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_transformers_albert_attention.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_min.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_fft_ihfft.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_UpsamplingBilinear2d.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_Tensor_new_empty.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_transformers_qwen3_attention.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_pnnx_eliminate_noop_math.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_LPPool2d.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_ConvTranspose3d.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_stft.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_LocalResponseNorm.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_full.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_bitwise_right_shift.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_Hardsigmoid.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_Tensor_to.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_Tensor_reshape.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_mean.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_ConvTranspose2d.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_istft.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_Tensor_new_full.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_Tensor_unflatten.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_zeros.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_Tensor_expand.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_fft_ifftn.py | 6 | CODE | |
| LOW | …ols/pnnx/tests/test_transformers_flaubert_attention.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_nn_AlphaDropout.py | 6 | CODE | |
| LOW | tools/pnnx/tests/test_torch_tensor_split.py | 6 | CODE | |
| 507 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pnnx/README.md | 345 | def load_pnnx_bin_as_parameter(self, archive, key, shape, dtype): | CODE |
| LOW | tools/pnnx/tests/test_pnnx_fuse_multiheadattention.py | 348 | def reshape_heads_to_batch_dim(self, tensor, merge_head_and_batch=True): | CODE |
| LOW | tools/pnnx/tests/test_pnnx_fuse_multiheadattention.py | 357 | def reshape_batch_dim_to_heads(self, tensor, unmerge_head_and_batch=True): | CODE |
| LOW | tools/pnnx/tests/ncnn/test_ncnn_reshape_semantics.py | 175 | def test_unsupported_reference(): | CODE |
| LOW | …ols/pnnx/tests/ncnn/test_ncnn_global_pooling_layout.py | 239 | def run_pnnx_without_inputshape(name, net, x): | CODE |
| LOW | tools/pnnx/src/ir.cpp | 1773 | fprintf(pyfp, " def load_pnnx_bin_as_parameter(self, archive, key, shape, dtype, requires_grad=True):\n"); | CODE |
| LOW | python/tests/test_vulkan_allocator.py | 63 | def test_vk_staging_allocator(): | CODE |
| LOW | python/tests/test_vulkan_allocator.py | 90 | def test_vk_weight_staging_allocator(): | CODE |
| LOW | python/tests/test_allocator.py | 19 | def test_unlocked_pool_allocator(): | CODE |
| LOW | python/tests/test_optional_opencv.py | 22 | def test_import_without_opencv(): | CODE |
| LOW | python/tests/test_optional_opencv.py | 75 | def test_opencv_import_errors_unchanged(monkeypatch, error): | STRING |
| LOW | python/tests/test_optional_opencv.py | 94 | def test_opencv_extra_metadata(monkeypatch, filename): | STRING |
| LOW | python/tests/test_extractor.py | 93 | def test_extractor_releases_gil(): | CODE |
| LOW | python/tests/test_mat.py | 739 | def test_from_pixels_roi_resize(): | CODE |
| LOW | python/tests/test_mat.py | 763 | def test_substract_mean_normalize(): | CODE |
| LOW | python/tests/mobile_smoke.py | 17 | def test_import_without_opencv(self): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 73 | def test_repeated_net_registration(kind, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 87 | def test_independent_live_nets(kind, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 110 | def test_many_layers_in_one_net(kind, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 123 | def test_callbacks_live_until_net_destruction(kind, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 144 | def test_extractor_keeps_callbacks_alive(kind, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 165 | def test_replace_registration_after_clear(kind, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 180 | def test_rejected_registration_releases_callbacks(index): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 205 | def test_re_registration_releases_superseded_callbacks(first, second, type_name, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 227 | def test_new_named_slot_with_custom_tag_is_rejected(tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 254 | def test_named_boundary_slots_load_after_replacement(index, replacement, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 278 | def test_index_registration_tracks_native_extent_for_new_names(index, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 307 | def test_replacement_failed_and_builtin_registration_preserve_named_extent(tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 334 | def test_re_registration_retains_only_loaded_callback_owners(kind, tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 375 | def test_null_creator_does_not_retain_replaced_callbacks(): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 395 | def test_global_net_interpreter_shutdown(tmp_path): | CODE |
| LOW | python/tests/test_custom_layer_lifetime.py | 449 | def test_net_subclass_keeps_long_type_name_stable(): | STRING |
| LOW | python/examples/peleenetssd.py | 10 | def draw_detection_objects_seg(image, class_names, objects, mat_map): | CODE |
| LOW | docs/developer-guide/kvcache.md | 77 | def add_kv_cache_to_ncnn_param(filename): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/ncnn/model_zoo/peleenetssd.py | 0 | #method 2, use ncnn.mat->numpy.array to get the result, no memory copy too out = np.array(mat_out) for i in range(len(ou | STRING |
| HIGH | python/ncnn/model_zoo/yolov2.py | 0 | #method 2, use ncnn.mat->numpy.array to get the result, no memory copy too out = np.array(mat_out) for i in range(len(ou | STRING |
| HIGH | python/ncnn/model_zoo/squeezenetssd.py | 0 | #method 2, use ncnn.mat->numpy.array to get the result, no memory copy too out = np.array(mat_out) for i in range(len(ou | STRING |
| HIGH | python/ncnn/model_zoo/mobilenetv2ssdlite.py | 0 | #method 2, use ncnn.mat->numpy.array to get the result, no memory copy too out = np.array(mat_out) for i in range(len(ou | STRING |
| HIGH | python/ncnn/model_zoo/mobilenetssd.py | 0 | #method 2, use ncnn.mat->numpy.array to get the result, no memory copy too out = np.array(mat_out) for i in range(len(ou | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pnnx/python/pnnx/utils/convert.py | 10 | CODE | |
| LOW | tools/pnnx/tests/test_F_interpolate_scale_factor.py | 50 | CODE | |
| LOW | tools/pnnx/tests/onnx/test_onnx_scalar_constants.py | 9 | CODE | |
| LOW | …pnnx/tests/ncnn/test_torchaudio_F_spectrogram_batch.py | 33 | CODE | |
| LOW | tools/pnnx/tests/ncnn/test_ncnn_reshape_semantics.py | 107 | CODE | |
| LOW | …ols/pnnx/tests/ncnn/test_ncnn_global_pooling_layout.py | 239 | CODE | |
| LOW | tools/pnnx/tests/ncnn/test_torchaudio_MelSpectrogram.py | 51 | CODE | |
| LOW | tools/pnnx/tests/ncnn/test_nn_Linear_leading_dims.py | 19 | CODE | |
| LOW | tools/pnnx/tests/ncnn/test_ncnn_batch_layout.py | 537 | CODE | |
| LOW | tools/pnnx/tests/ncnn/test_ncnn_batch_layout.py | 614 | CODE | |
| LOW | …ols/pnnx/tests/ncnn/test_F_interpolate_scale_factor.py | 54 | CODE | |
| LOW | python/examples/peleenetssd.py | 10 | CODE | |
| LOW | python/ncnn/utils/download.py | 38 | CODE | |
| LOW | python/ncnn/model_zoo/yolov7.py | 23 | CODE | |
| LOW | python/ncnn/model_zoo/yolov7.py | 59 | CODE | |
| LOW | python/ncnn/model_zoo/yolov7.py | 191 | CODE | |
| LOW | python/ncnn/model_zoo/retinaface.py | 190 | CODE | |
| LOW | python/ncnn/model_zoo/yolact.py | 188 | CODE | |
| LOW | python/ncnn/model_zoo/yolov8.py | 214 | CODE | |
| LOW | python/ncnn/model_zoo/simplepose.py | 38 | CODE | |
| LOW | python/ncnn/model_zoo/model_store.py | 92 | CODE | |
| LOW | python/ncnn/model_zoo/yolov5.py | 263 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pnnx/python/pnnx/utils/convert.py | 10 | CODE | |
| LOW | tools/pnnx/python/pnnx/utils/export.py | 7 | CODE | |
| LOW | tools/pnnx/tests/test_torch_bitwise_right_shift.py | 15 | CODE | |
| LOW | tools/pnnx/tests/test_torch_bitwise_or.py | 16 | CODE | |
| LOW | tools/pnnx/tests/test_torch_bitwise_left_shift.py | 15 | CODE | |
| LOW | tools/pnnx/tests/test_torch_bitwise_and.py | 16 | CODE | |
| LOW | tools/pnnx/tests/test_torch_bitwise_not.py | 15 | CODE | |
| LOW | tools/pnnx/tests/test_torch_mv.py | 13 | CODE | |
| LOW | tools/pnnx/tests/test_Tensor_masked_fill.py | 15 | CODE | |
| LOW | tools/pnnx/tests/test_torch_bitwise_xor.py | 16 | CODE | |
| LOW | tools/pnnx/tests/test_torch_logical_or.py | 16 | CODE | |
| LOW | tools/pnnx/tests/test_torch_logical_and.py | 16 | CODE | |
| LOW | …x/tests/test_pnnx_fuse_scaled_dot_product_attention.py | 69 | CODE | |
| LOW | tools/pnnx/tests/test_torch_logical_xor.py | 16 | CODE | |
| LOW | tools/pnnx/tests/test_torch_logical_not.py | 15 | CODE | |
| LOW | tools/pnnx/tests/onnx/test_torch_logical_or.py | 17 | CODE | |
| LOW | tools/pnnx/tests/onnx/test_torch_logical_and.py | 17 | CODE | |
| LOW | tools/pnnx/tests/onnx/test_torch_logical_xor.py | 17 | CODE | |
| LOW | tools/pnnx/tests/onnx/test_torch_logical_not.py | 16 | CODE | |
| LOW | python/ncnn/model_zoo/squeezenet.py | 52 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/layer/loongarch/loongarch_usability.h | 914 | // Step 1: 32-bit word interleave | COMMENT |
| LOW | src/layer/loongarch/loongarch_usability.h | 928 | // Step 2: 64-bit doubleword interleave | COMMENT |
| LOW | src/layer/loongarch/loongarch_usability.h | 942 | // Step 3: cross-lane 128-bit permute | COMMENT |
| LOW⚡ | src/layer/loongarch/loongarch_usability.h | 994 | // Step 1: lane-wise word interleave | COMMENT |
| LOW⚡ | src/layer/loongarch/loongarch_usability.h | 1000 | // Step 2: lane-wise doubleword interleave | COMMENT |
| LOW⚡ | src/layer/loongarch/loongarch_usability.h | 1006 | // Step 3: cross-lane 128-bit permute | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/layer/loongarch/loongarch_usability.h | 914 | // Step 1: 32-bit word interleave | COMMENT |
| LOW | src/layer/loongarch/loongarch_usability.h | 928 | // Step 2: 64-bit doubleword interleave | COMMENT |
| LOW | src/layer/loongarch/loongarch_usability.h | 942 | // Step 3: cross-lane 128-bit permute | COMMENT |
| LOW⚡ | src/layer/loongarch/loongarch_usability.h | 994 | // Step 1: lane-wise word interleave | COMMENT |
| LOW⚡ | src/layer/loongarch/loongarch_usability.h | 1000 | // Step 2: lane-wise doubleword interleave | COMMENT |
| LOW⚡ | src/layer/loongarch/loongarch_usability.h | 1006 | // Step 3: cross-lane 128-bit permute | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/pnnx/python/pnnx/__init__.py | 23 | except Exception: | CODE |
| HIGH | python/ncnn/model_zoo/model_store.py | 179 | except AttributeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 208 | # Set CMAKE_BUILD_PARALLEL_LEVEL to control the parallel build level | COMMENT |
| LOW | tools/pnnx/python/setup.py | 105 | # Set CMAKE_BUILD_PARALLEL_LEVEL to control the parallel build level | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pnnx/python/pnnx/__init__.py | 23 | except Exception: | CODE |
| MEDIUM | docs/developer-guide/kvcache.md | 86 | print(f"Error: The file '{filename}' was not found.") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/ncnn/model_zoo/model_zoo.py | 24 | __all__ = ["get_model", "get_model_list"] | CODE |
| LOW | python/ncnn/model_zoo/model_store.py | 7 | __all__ = ["get_model_file", "purge"] | CODE |