Commit Graph
373 Commits
Author SHA1 Message Date
nihui bd5842174f pnnx reshape improve compatibility with old ncnn (#6806)
* onnx flatten to reshape
2026-07-06 19:23:00 +08:00
nihui 81e8cbffd0 pnnx ci update torch 2.12 (#6796) 2026-07-03 23:46:56 +08:00
nihui b10a8327fb pnnx ncnn legalize global pooling layout (#6795) 2026-07-03 16:21:59 +08:00
nihui 127b414614 reshape support batch to/from dim (#6784) 2026-07-02 19:29:34 +08:00
nihui 706c4d1964 support 4d mat in more operators (#6737)
Add 4d Mat handling across generic and optimized backends, extend operator tests, and document supported input and output Mat dimensions.
2026-05-22 15:31:01 +08:00
Luneandnihui bedf9c6568 unaryop: extend sign, hyperbolic, expm1 and log1p support (#6675)
Add backend support for new UnaryOp operations across scalar, SIMD and Vulkan paths, including sign, sinh, cosh, asinh, acosh, atanh, expm1 and log1p.

Wire the new ops through onnx2ncnn and pnnx expression conversion, update generated Python emission, and add regression coverage for the new conversion paths.

Fix portability issues for expm1/log1p math declarations, NCNN_SIMPLEMATH builds, ONNX-enabled pnnx linking, and stabilize unary op tests across fp16, bf16 and torch exporter/version differences.

Co-authored-by: nihui <nihuini@tencent.com>
2026-05-21 16:19:58 +08:00
Yeuvoir 9db7174bc6 pnnx: fix Conv2d padding tuple normalization (#6694)
Normalize 4-element aten pad values from (left, right, top, bottom) to nn.Conv2d padding order (height, width) when fusing Conv2d modules.

Also add regression coverage for asymmetric ZeroPad2d + depthwise Conv2d to keep the output shape and ncnn pad params correct.
2026-05-21 10:17:58 +08:00
e8g(w7n)andnihui 485d17327b feat(pnnx): convert prelu[num_parameters=1] to leakyrelu, so that it can be fused with conv (#6344)
Co-authored-by: nihui <nihuini@tencent.com>
2026-05-07 19:46:19 +08:00
476901a510 pnnx print flops and memops (#5836)
---------

Co-authored-by: luxincn <2391719912@qq.com>
Co-authored-by: SZUwishion <2559916473@qq.com>
Co-authored-by: luxincn <luxincn@users.noreply.github.com>
Co-authored-by: Wu YuXuan <148472521+SZUwishion@users.noreply.github.com>
Co-authored-by: nihui <nihui@users.noreply.github.com>
Co-authored-by: luxincn <118981961+luxincn@users.noreply.github.com>
Co-authored-by: nihui <171016+nihui@users.noreply.github.com>
2026-05-07 19:28:58 +08:00
aa01024557 pnnx: support npy input tensors (#6700)
Co-authored-by: lovedream-ms <209071654+lovedream-ms@users.noreply.github.com>
Co-authored-by: lancerstadium <57707690+lancerstadium@users.noreply.github.com>
Co-authored-by: AtomAlpaca <66774326+AtomAlpaca@users.noreply.github.com>
2026-05-06 20:52:04 +08:00
nihui 0d29a8d048 update pnnx torch-2.11 (#6701) 2026-05-06 20:06:51 +08:00
Lune 82352c9158 [bugfix] pnnx: emit Erf layer for expression erf (#6677) 2026-04-14 19:01:54 +08:00
Molly Sophia c0034d2f51 fix fuse_padding_convolution asymmetric padding params being skipped (#6661)
Signed-off-by: mollyji <mollyji@tencent.com>
2026-04-09 15:26:20 +08:00
nihui 3e97a6e61c update pnnx ci torch 2.10.0 (#6592)
* Downgrade actions/cache from v5 to v4
2026-03-10 11:49:14 +08:00
風的彷徨 f698111525 fmod logaddexp floor_divide remainder support for binaryop (#6549) 2026-03-08 00:05:11 +08:00
Sense_wang 22ef29fe0a fix: replace 1 bare except clauses with except Exception (#6555) 2026-02-26 11:50:20 +08:00
Evgeny Proydakov 4699b26933 Using snprintf instead of sprintf for a tools (#6554)
Signed-off-by: Evgeny Proydakov <e.proydakov@gmail.com>
2026-02-26 10:29:28 +08:00
Yiming 4063d7c3df pnnx: add TNN Flatten operator support in pass_level2 (#6513) 2026-01-15 14:09:09 +08:00
nihui 6ebcb644c5 skip opening foldable constant zip without any foldables (#6492) 2026-01-06 16:25:45 +08:00
nihui 99eccaff80 pnnx ncnn more interleaved rope pattern (#6468) 2025-12-26 17:19:43 +08:00
nihui 7d357031db pnnx fuse adjacent permute, eliminate noop permute (#6467) 2025-12-26 14:16:34 +08:00
nihui c74787622e pnnx ncnn torch flatten handle multiple dynamic dimension (#6466) 2025-12-25 20:01:54 +08:00
nihui a7c1fc2499 pnnx fix ncnn torch stack shape out-of-range crash with negative axis (#6461) 2025-12-24 10:17:33 +08:00
nihui 232c7ab244 pnnx ncnn convert torch flatten, add test (#6462)
* Update upload-artifact action version to v5
2025-12-23 18:36:47 +08:00
nihui 14d97156d9 pnnx fuse more rmsnorm pattern (#6418) 2025-11-21 15:54:09 +08:00
nihui 559a8e8cb0 rotaryembed layer (#6407)
* add deepseek_v3 attention test
* fuse non interleaved rotary embed
* fuse t5 layernorm without gamma
* test qwen2 attention
* sdpa pattern ++
2025-11-19 17:28:08 +08:00
nihui 69652f4e0d pnnx attribute pooling (#6404) 2025-11-13 13:02:20 +08:00
nihui 299b6eae5d fix sdpa attn mask with single channel (#6402) 2025-11-12 19:07:11 +08:00
nihui 94bb3e7bf0 pnnx generate export_pnnx and export_ncnn utility function (#6401) 2025-11-12 14:17:42 +08:00
nihui d73c0d6fd8 pnnx ncnn convert tensor expand to tile, fix missing tile repeats (#6399) 2025-11-12 10:56:57 +08:00
nihui 641a3e5be8 ncnn sdpa layer (#6397)
* fuse gqa
2025-11-11 11:14:04 +08:00
nihui dfb9ba7844 pnnx generate valid shape for inference from auto inputshape (#6381) 2025-10-31 16:00:21 +08:00
nihui 5cddb454bd pnnx onnx reshape drop allowzero arg (#6380) 2025-10-31 11:28:10 +08:00
Glenn Jocherandnihui 9b86753ff7 pnnx fix sanitize op from convert.py (#6379)
* Remove sanitize op from convert.py

@y-t-g @nihui PR to help https://github.com/ultralytics/ultralytics/pull/22347/

* Replace dashes with underscores in pnnx file names

Sanitize file names by replacing dashes with underscores.

---------

Co-authored-by: nihui <shuizhuyuanluo@126.com>
2025-10-31 10:52:50 +08:00
nihui 27ae758da7 pnnx convert interpolate nearest-exact (#6376) 2025-10-28 12:52:57 +08:00
nihui c7a1af0c7e pnnx convert Tensor.unflatten (#6374) 2025-10-27 17:44:00 +08:00
nihui 8903f443aa pnnx fuse more transformer attention variants (#6371)
* pnnx fuse more transformer attention variants
* test new transformers
* always eliminate contiguous
* unified view and reshape
* better float param string
2025-10-27 11:41:12 +08:00
nihui 98eebba72d fix pnnx windows build (#6370) 2025-10-23 11:34:07 +08:00
nihui 7b207dd3ad update pnnx ci torch 2.9.0, support onnx external data, enable dynamo exported onnx test (#6364) 2025-10-23 10:07:42 +08:00
nihui ccfc6c5aa3 pnnx convert onnx gridsample, fix fused constant input dropping logic, fix onnx padding non-constant value conversion, convert onnx dynamic resize, paddle-style tensor size pattern (#6348) 2025-10-10 16:41:34 +08:00
nihui 9e4b9031ec pnnx onnx fix partial shape folding on old opset (#6347) 2025-10-10 13:01:27 +08:00
nihui 00f816ffd5 pnnx fuse whisper style attention (#6331) 2025-09-29 16:39:38 +08:00
nihui 0ecf814d52 sanitize pnnx python module import path (#6335) 2025-09-29 16:15:35 +08:00
nihui 4ded46fbe3 pnnx custom float to string conversion (#6334) 2025-09-29 13:12:31 +08:00
nihui cbf4960496 pnnx convert onnx gelu groupnorm rmsnorm (#6330) 2025-09-24 17:35:01 +08:00
nihui 22aba560d8 pnnx convert shrink family to ncnn, fix shrink test (#6329) 2025-09-24 15:22:02 +08:00
nihui 09ecec15ec pnnx get auto input shapes from onnx model (#6328) 2025-09-24 11:39:29 +08:00
nihui 414666a6d1 doc supported onnx operators (#6327) 2025-09-23 19:41:06 +08:00
nihui a6eda68f23 disable onnx2ncnn build (#6324)
Migrate most of onnx2ncnn functions to pnnx
2025-09-23 19:06:07 +08:00
nihui 846b617038 fix pnnx onnx groupnorm pattern (#6309) 2025-09-10 10:25:08 +08:00