Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kokios yra įprastos klaidos, kurias sukelia formos polimorfizmas JAX


Kokios yra įprastos klaidos, kurias sukelia formos polimorfizmas JAX


Formos polimorfizmas JAX gali sukelti keletą įprastų klaidų dėl to, kad jis buvo elgiamasi su simboliniais matmenimis masyvo formose. Štai keletas šių klaidų:

1. Nesuderinamos transliavimo formos: Kai naudojami formos polimorfizmas, tokios operacijos kaip pridėjimas ar matricos dauginimas gali sugesti, jei simboliniai matmenys nesutampa su numatomomis formomis. Pvz., Bandymas pridėti masyvus su figūromis `(v,)` ir `(4,)` sukels klaidą, nes „V“ yra simbolinis matmenys, kuris ne visada gali būti lygus 4 [1] [2].

2. Formos tikrinimo klaidos: Operacijoms, tokioms kaip matricos dauginimasis, reikia specifinių formos apribojimų, tokių kaip kvadratinės matricos. Jei simboliniai matmenys netenkina šių apribojimų (pvz., Naudodami `(v, 4)` vietoj „(v, v)`), Jax padidins klaidas [1] [2].

3. Netiki matmenų operacijos: Palyginimai, apimantys simbolinius matmenis, gali būti neaiškūs, jei jų negalima išspręsti kaip loginę vertę visoms galimoms simbolinių matmenų vertėms. Bandant palyginti simbolines formas [1], tai sukelia tokias klaidas kaip „neįtikėtini operacija“ [1].

4. Formos tvirtinimo klaidos: JAX daro prielaidą, kad matmenų kintamieji yra griežtai teigiami sveikieji skaičiai. Jei tikrosios įvesties formos netenkina šių prielaidų (pvz., Tokia forma kaip `(b, b, 2*d)„ Kai „D“ nėra sveikasis skaičius), Jax vykdymo metu padidins klaidas [1] [2].

Šios klaidos pabrėžia poreikį atidžiai valdyti simbolinius matmenis, kai JAX naudoja formos polimorfizmą.

Citatos:
[1] https://docs.jax.dev/en/latest/export/shape_poly.html
[2] https://github.com/google/jax/blob/main/jax/experimental/jax2tf/readme.md
[3] https://docs.jax.dev/en/latest/notebooks/thing_in_jax.html
[4] https://stackoverflow.com/questions/65934509/errors-in-polimorfizmas
[5] https://github.com/google/jax/discussions/15995
[6] https://docs.jax.dev/en/latest/debugging/index.html
[7] https://jax.readthedocs.io/en/latest/errors.html
[8] https://laracasts.com/discuss/channels/eloquent/polimorfizmas-why-Should-i-Violate-database-design?reply=103880