optimize() crashes when constant folding produces a string tensor
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- machine-learning
Direzione di ricerca
Start with onnxscript.optimizer._constant_folding._prepare_folded_tensor, which the issue identifies as wrapping folded NumPy results with ir.tensor(output_array). Reproduce with the provided constant string tensor model and check that onnxscript.optimizer.optimize() serializes and runs it successfully; account for the open linked pull request when assessing whether work remains.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
onnxscript.optimizer.optimize() fails on valid models when constant folding produces a string tensor, for example an Identity or Concat on a constant list of class labels.
import numpy as np
import onnx
import onnxruntime as ort
import onnxscript.optimizer
model = onnx.parser.parse_model(
"""
<ir_version: 8, opset_import: ["" : 18]>
agraph (int64[1] idx) => (string[1] label)
<string[3] classes = {"cat", "dog", "bird"}>
{
labels = Identity(classes)
label = Gather(labels, idx)
}
"""
)
def run(m):
sess = ort.InferenceSession(m.SerializeToString(), providers=["CPUExecutionProvider"])
return sess.run(None, {"idx": np.array([2], np.int64)})[0]
print("before optimize:", run(model))
print("after optimize:", run(onnxscript.optimizer.optimize(model)))
Output:
before optimize: ['bird']
...
TypeError: Bitwidth not available for ONNX data type: STRING
...
onnx_ir.passes.PassError: An error occurred when running the '<onnxscript.optimizer._constant_folding.FoldConstantsPass ...>' pass ...
_prepare_folded_tensor wraps the folded numpy result with ir.tensor(output_array). For a string array that gives a numeric Tensor with dtype STRING instead of a StringTensor, and serializing it fails.
Versions: onnxscript main (4002c079), onnx 1.23.2, onnxruntime 1.31.0, onnx_ir 1.0.0 (same with 1.1.0), Python 3.12.15, macOS arm64.
This is separate from #3110, which fixes non-ASCII strings in Constant attributes. I have a small fix and can open a PR.
- Lingua principale
- Python
- Stelle
- 456
- Fork
- 148
- Merge medio
- 3g 13h
- PR unite (30g)
- 21
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 microsoft/onnxscript
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
microsoft/onnxscript#3003 · 3 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
CI : Pin github actions to full commit SHAForse già presa @Aniketsy l’ha presa 178 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
microsoft/onnxscript#2903 · 6 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
bug module: torchlib
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
microsoft/onnxscript#3124 · 3 commenti · 1 reazione ·
I maintainer di solito rispondono entro 3 giorni
-
[torchlib] Float remainder is off by the divisor when the quotient rounds up, and nan for an infinite divisorForse già presa @usmanmateen l’ha presa 9 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
microsoft/onnxscript#3116 ·
I maintainer di solito rispondono entro 3 giorni
-
[torchlib] Float floor_divide is one too large when the quotient rounds up to a whole numberForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 57/100
microsoft/onnxscript#3115 ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di microsoft/onnxscript
Issue simili
-
enhancement help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Git-Hospital/githealthcheck#61 ·
I maintainer di solito rispondono entro 1 giorno
-
changelog investigate
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
ramnes/notion-sdk-py#433 ·
-
Partial method descriptors raise on class accessForse già presa @Gambit-Checkmate l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 19 giorni
-
docs pkg:core
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
pydantic/pydantic-ai#11929 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
intake/intake-esm#789 ·