
Yini i-Handwired?
I-Handwired iguqula ikhodi evamile ye-JavaScript ibe ukubala okufana nenethiwekhi yezinzwa ngaphandle kwesidingo sokuqeqeshwa. Esikhundleni sokumela uhlelo njengokulandelana okujwayelekile kokulawula, iguqula umqondo ofana nezimo, imijikelezo, nesimo ube ukuphindaphindwa kwamamethriksi kanye nemisebenzi ye-reglu phezu kwamanani e-floating-point.
Uhlelo oluwumphumela luhlala lukwazi ukuhlukaniswa ngokuphelele, kuyilapho ama-weight alo ebhalwa ngesandla kunokufundwa. I-Handwired ingenza lokhu kubala ku-JavaScript noma isebenzise i-WebGPU.

Kungani Kuguqulwa Izinhlelo Zibe Ukubala Kwe-Neural?
I-Handwired yehlisa ukuziphatha kohlelo kube iqoqo elincane lezisekelo zezibalo, ikakhulukazi ukuhlanganisa, ukuphindaphinda, nemisebenzi efana ne-ReLU. Le ndlela inikeza izici ezimbalwa ezithakazelisayo:
- Lonke uhlelo luhlala lukwazi ukuhlukaniswa.
- Ama-weight awadingi ukuqeqeshwa ngoba abhalwa ngesandla.
- Ukuthuthukiswa kwe-GPU okufana nokuhlanganisa imisebenzi, i-sparsity, nokuhlela kabusha imisebenzi kungasebenza nalokhu kubala okwenziwe lula.
- Ikhodi evamile ye-JavaScript ingase izuze ekuhambisaneni kwezinga le-GPU lapho imelwe ngale ndlela.
Iphrojekthi iphinde idale amathuba okuhlola. Ungavula ama-weight achazwe ngesandla uphinde uhlole ukuthi ukuqeqeshwa kwenzani, noma unamathisele uhlelo oluqandisiwe kunethiwekhi yezinzwa evamile bese uqeqesha uhlelo oluhlanganisiwe kusukela ekuqaleni kuze kube sekugcineni.
Setha Iphrojekthi
I-Handwired ihlanganisa amademo asebenzayo kanye nomthombo odingekayo ukuze uhlole ukusebenza kwayo kukhompyutha yakho. Uzodinga ukuthi i-Bun ifakwe ohlelweni lwakho.
- Yenza i-clone ye-repository ye-Handwired.
- Shintshela kufolda yephrojekthi.
- Faka ama-dependency usebenzisa i-
bun install. - Qalisa amademo endawo usebenzisa i-
bun start.
git clone <handwired-repository-url>
cd handwired
bun install
bun startNgemva kokuqala iphrojekthi, sebenzisa ikheli lendawo eliphrintwe yi-Bun ukuze uhlole amademo. Ungazama futhi amademo asingathwe ku-chenglou.me/handwired.
Qonda Ukuguqulwa Okuyisisekelo
Cabanga ngesimo esilula se-JavaScript:
const a = 5
const result = (a > 4) ? 10 : 12I-Handwired iveza lesi simo isebenzisa izibalo. Enanini eliyinombolo ephelele, umehluko wemisebenzi ye-ReLU elandelayo ukhiqiza isikhethi esingu-1 lapho a > 4 futhi esingu-0 lapho a <= 4:
const a = 5
const above4 = Math.max(0, a - 4) - Math.max(0, a - 5)
const result = above4 * 10 + (1 - above4) * 12Womabili amagatsha ayabalwa, kodwa i-above4 ikhetha umphumela ofanele. Uma a = 5, isikhethi siba ngu-1, ngakho inani lokugcina liba ngu-10, lihambisane nesisho sokuqala sesimo.
Indlela Ukumelwa Kwezibalo Okusebenza Ngayo
Umbono oyinhloko ukushintsha ukwehlukana kwamagatsha kube izisekelo zezibalo eziqhubekayo. Isimo siba inhlanganisela yalokhu:

- Imisebenzi ye-ReLU yokwakha isikhethi esivela kokufakiwe.
- Ukuphindaphinda ukuze kusetshenziswe isikhethi egatsheni ngalinye.
- Ukuhlanganisa imiphumela yamagatsha.
Uma le misebenzi isiqoqiwe, i-Handwired ingamela lokhu kubala njengokuphindaphindwa kwemethriksi enkulu kanye nemisebenzi efanele yokwenza kusebenze. Uhlelo olufanayo lungase luhlolwe kusetshenziswa i-JavaScript noma i-WebGPU.
Womabili amagatsha ayabala, bese isikhethi sikhetha ukuthi yimuphi umphumela ozoba negalelo kokuphumayo.
Hlola I-Repository
Lapho usebenza kule phrojekthi, qala ngamafolda agqanyiswe ku-README:
- I-
docs/iqukethe imibhalo nezinto zokuqonda iphrojekthi. - I-
src/iqukethe ukusebenza kwephrojekthi. - I-
template/inikeza isiqalo sokujwayelana nephrojekthi. - I-
lab/iqukethe izivivinyo ezindala ongazihlola noma ungazinaki.
Indlela esebenzayo ukuqala ngokuqalisa amademo, bese uqhathanisa ukuziphatha kwawo namafayela omthombo afanele. Lokhu kusiza ukuxhumanisa izibonelo ezibonakalayo nokuguqulwa okuyisisekelo kube imisebenzi yamamethriksi.
Zama Amademo
Idemo esingathwe iyindlela esheshayo yokubona i-Handwired isebenza. Incazelo yephrojekthi igqamisa ngokukhethekile idemo yokusesha i-JSON ecubungula amadokhumenti angu-100,000 ngama-millisecond. Ibonisa umgomo wephrojekthi wokuletha ukuhambisana okukhulu kukhodi eyayibhalwe ekuqaleni ngesitayela sendabuko esisebenzisa intambo eyodwa.
Sebenzisa amademo ukuze ubone umehluko phakathi kwesakhiwo sohlelo lokuqala nokumelwa kwezibalo okukhiqiziwe. Aphinde abe yisiqalo esiwusizo ngaphambi kokushintsha umthombo wendawo.
Imibono Ethuthukile
Hlola Ama-Weight Aqeqeshekayo
I-Handwired ngokuvamile isebenzisa ama-weight abhalwe ngesandla, ngakho ukuqeqeshwa akudingeki ukuze uhlelo lusebenze. Olunye ucwaningo oluphakanyiswe yiphrojekthi ukuvula lawo ma-weight bese ubona ukuthi inqubo yokwenza ngcono ikhiqizani.
Hlanganisa Izinhlelo Eziqandisiwe Nama-Neural Network
Enye indlela ukubophela uhlelo oluthile oluqandisiwe lwe-Handwired kunethiwekhi yezinzwa evamile bese uqeqesha uhlelo oluhlanganisiwe kusukela ekuqaleni kuze kube sekugcineni. Lokhu kungavumela imodeli ukuthi igcine uhlelo oluchazwe ngokunembile ngesikhathi ifunda okunye ukuziphatha.
Cabanga Ngemisebenzi Eyisisekelo
Lapho uklama izivivinyo, gxila endleleni ukugeleza kokulawula okungavezwa ngayo ngokuhlanganisa, ukuphindaphinda, nemisebenzi efana ne-ReLU. Uma ukubala okuwumphumela kulula, kuba lula kakhulu ukuzuza kumasu afana nokuhlanganisa imisebenzi, i-sparsity, nokuhlela kabusha.
Isiphetho
I-Handwired ikhombisa ukuthi ingqondo evamile ye-JavaScript ingabhalwa kanjani kabusha ibe ukubala kwezibalo okungahlukaniseka. Ngokushintsha ukugeleza kokulawula kufakwe izikhethi ze-arithmetic nokunciphisa umphumela ube ukuphindaphindwa kwamamatriksi kanye nemisebenzi yokwenza kusebenze, yenza izinhlelo zendabuko zihambisane namasu amanethiwekhi e-neural kanye nokusetshenziswa kwe-JavaScript noma kwe-WebGPU. Yifake nge-Bun, uhlole amademo, bese ubheka docs/, src/, kanye ne-template/ ukuze uqale ukuhlola.
