[Bug] [Relax][ONNX] Resize drops axes-scoped sizes before constructing resize2d
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 65/100
Direzione di ricerca
Start from the Resize converter in the Relax ONNX frontend, where sizes[2:] is sliced without applying the axes mapping. Run the provided repro.py to confirm the ValueError for axes=[2, 3] while full-rank sizes still import. Done when the axes-scoped case yields a 2-dim size and the output matches the full-rank result [1, 1, 4, 4].
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Expected behavior
For Resize-18, axes=[2, 3], sizes=[4, 4] on a [1, 1, 2, 2] tensor should produce the same [1, 1, 4, 4] result as full-rank sizes=[1, 1, 4, 4].
Actual behavior
Full-rank sizes import successfully. Axes-scoped sizes pass ONNX full checking and the ONNX reference evaluation, but fail during Relax import:
ValueError: Resize2D expects the given output image size to be a 2-dim shape, while the given one has ndim 0
The converter slices sizes[2:] without expanding the axes mapping. This uses the default stretch policy; the aspect-ratio change in #20846 does not cover it.
Environment
TVM 0.28.dev0 (local build; build commit unavailable), Python 3.12.3, Linux x86_64; ONNX 1.22.0, NumPy 2.5.4.
Steps to reproduce
Run with python repro.py:
import numpy as np
import onnx
from onnx import TensorProto as T, helper as h, numpy_helper as nh
from onnx.reference import ReferenceEvaluator
from tvm.relax.frontend.onnx import from_onnx
x = np.arange(4, dtype="float32").reshape(1, 1, 2, 2)
expected = x.repeat(2, axis=2).repeat(2, axis=3)
for axes, sizes in [(None, [1, 1, 4, 4]), ([2, 3], [4, 4])]:
attrs = {} if axes is None else {"axes": axes}
node = h.make_node("Resize", ["x", "", "", "sizes"], ["y"],
mode="nearest", coordinate_transformation_mode="asymmetric",
nearest_mode="floor", **attrs)
model = h.make_model(h.make_graph([node], "resize",
[h.make_tensor_value_info("x", T.FLOAT, [1, 1, 2, 2])],
[h.make_tensor_value_info("y", T.FLOAT, [1, 1, 4, 4])],
[nh.from_array(np.array(sizes, dtype="int64"), "sizes")]),
opset_imports=[h.make_opsetid("", 18)], ir_version=10)
onnx.checker.check_model(model, full_check=True)
np.testing.assert_array_equal(ReferenceEvaluator(model).run(None, {"x": x})[0], expected)
try:
from_onnx(model, keep_params_in_input=False)
print("axes", axes, "imported")
except Exception as error:
print("axes", axes, type(error).__name__, str(error).splitlines()[-1])
Triage
- needs-triage
- Lingua principale
- Python
- Stelle
- 13.9k
- Fork
- 4k
- Merge medio
- 8h 5m
- PR unite (30g)
- 170
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/tvm
-
needs-triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug] [Relax][ONNX] OneHot does not convert floating-point depth to int64Forse già presa @tandede l’ha presa 1 giorno fa. Apertaneeds-triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
needs-triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
needs-triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug][Relax] ReorderTakeAfterMatmul fails on vector dot productsForse già presa @hiyufan l’ha presa 11 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/tvm#20595 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
docs: Release playbookApertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
awslabs/social-messaging-agent-runtime-toolkit#140 ·
I maintainer di solito rispondono entro 1 giorno
-
subtask
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fga-eps-mds/2026.2-MeasureSoftGram-DOC#187 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
txn2/mcp-data-platform#2493 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
YO-WHATS-UP2/minigit#78 ·
I maintainer di solito rispondono entro 3 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
liberation-data/drivine-python#432 ·
I maintainer di solito rispondono entro 1 giorno