Recall Feynman: ek 12-saal ke bachche ko explain karo
Socho tumne ek recipe banai (tumhara model). Normally sirf tumhari kitchen (framework) ise cook kar sakti hai. ONNX ek aisi language mein recipe translate karna hai jo har kitchen samjhe — taaki ek chhhoti food truck (tumhara phone) bhi ise cook kar sake. Aur quantization yeh hai jaise "2.37 gram namak" ko "2 gram" kar dena: dish almost waisi hi lagti hai, par ab tumhe bahut kam measuring tools saath laane padte hain. Ise shahar ke doosri taraf ke bade restaurant mein ingredients mail karne ki jagah food truck par chalana = edge deployment: faster, private, bina phone signal ke bhi kaam karta hai.
Open Neural Network Exchange — ek open, framework-agnostic file format jo model ko ek static computation graph (nodes, weights, typed IO) ke roop mein store karta hai.
ONNX integration complexity ko O(N×M) se O(N+M) par kyun laata hai?
Hub-and-spoke: har framework ko sirf ek exporter TO ONNX chahiye (N) aur har runtime ko sirf ek importer FROM ONNX (M), bajaaye har pair ke liye custom glue ke.
Edge ko cloud se behtar banane wale 4 forces kaun se hain?
Kam latency, better privacy, kam per-inference cost, offline availability.
Woh backend jo actually ops compute karta hai (CPU, CUDA, TensorRT, CoreML, NNAPI...); ORT graph nodes ko usi par dispatch karta hai.
Alag runtimes mein bit-identical outputs kyun nahi man sakte?
Alag EPs alag kernels/fusion/FP ordering use karte hain; results sirf ek tolerance ke andar agree karte hain, isliye np.allclose se validate karo.
opset_version kya hai aur iska failure mode kya hai?
Model jo operator-set version maangta hai; agar target runtime ise support nahi karta, to loading fail hoti hai. Apne ops cover karne wala lowest opset use karo.
QAT vs post-training quantization — QAT kyun prefer karein?
QAT training ke dauran rounding simulate karta hai taaki weights quantization noise ke saath adapt ho sakein, PTQ se zyada accuracy preserve karta hai.
dynamic_axes kis kaam aata hai?
Woh dimensions declare karne ke liye (jaise batch) jo runtime par vary kar sakti hain, production mein shape-mismatch errors se bachne ke liye.