?????? 今天聊一聊算法工程師是否也需要會(huì)前端開發(fā)與后端開發(fā)知識(shí)魁亦,答案毫無(wú)疑問(wèn)是肯定的,必須要會(huì)羔挡。算法工程師一般指的是機(jī)器學(xué)習(xí)的算法工程師洁奈,機(jī)器學(xué)習(xí)的算法工程師的主要任務(wù)是提高模型的準(zhǔn)確率间唉,壓縮模型,提高模型的泛化能力睬魂,優(yōu)化代碼的結(jié)構(gòu)终吼,加快模型的推理速度等。這么說(shuō)起來(lái)好像機(jī)器學(xué)習(xí)的算法工程師貌似和前端開發(fā)與后端開發(fā)沒(méi)什么關(guān)系氯哮。不過(guò)請(qǐng)看我繼續(xù)寫下去。
?????? 機(jī)器學(xué)習(xí)的訓(xùn)練需要大量的數(shù)據(jù)商佛,一般來(lái)說(shuō)可以使用公開的數(shù)據(jù)集喉钢,比如最常見的cifar10,cifar100,voc,cooc,imagnet數(shù)據(jù)集,如果需要識(shí)別特殊的數(shù)據(jù)良姆,比如識(shí)別電路板肠虽,這種沒(méi)有數(shù)據(jù)集的只能使用自己制作的數(shù)據(jù)集,一般說(shuō)可以使用python爬蟲一些圖片玛追,來(lái)進(jìn)行數(shù)據(jù)集的制作税课,并且制作label的標(biāo)簽文檔。接著進(jìn)行模型的訓(xùn)練痊剖,經(jīng)過(guò)若干時(shí)間后韩玩,模型訓(xùn)練完畢,你得到了一個(gè)best model陆馁。
?????? 現(xiàn)在問(wèn)題來(lái)了找颓,你要怎么去給老板或者產(chǎn)品經(jīng)理展示你的成果呢?大多數(shù)老板和產(chǎn)品經(jīng)理都是技術(shù)小白叮贩,他們可能連黑框都看不懂击狮,怎么辦?這是就需要用前端的開發(fā)的知識(shí)益老,做出一個(gè)UI的界面彪蓬,將輸入圖片改為模型的輸入連接,將輸出的結(jié)果標(biāo)簽與對(duì)應(yīng)準(zhǔn)確率或者是目標(biāo)檢測(cè)的MAP捺萌,做出一個(gè)用戶級(jí)別的交互界面档冬,這樣給產(chǎn)品經(jīng)理去看,肯定事半功倍互婿,如果你會(huì)andriod studio開發(fā)捣郊,將模型部署于手機(jī)移動(dòng)端,進(jìn)行推理生成APP慈参,因此前端開發(fā)呛牲,java,ccs驮配,HTML等必不可少娘扩。
?????? 當(dāng)模型經(jīng)過(guò)上級(jí)的審核后着茸,我們將模型進(jìn)行部署在服務(wù)器云端,隨時(shí)進(jìn)行啟用推理琐旁,但是問(wèn)題又來(lái)了涮阔,一般的后端工程師,不太清楚模型推理的前向傳播過(guò)程灰殴,所以模型的部署需要算法工程師與后端工程共同完成或者就是算法的任務(wù)敬特,因此我們需要學(xué)習(xí)C++的后端開發(fā),來(lái)完成模型的前向推理牺陶,一般來(lái)說(shuō)考慮到速度伟阔,不會(huì)使用Python語(yǔ)言,都會(huì)使用C//C++更加接近底層的語(yǔ)言掰伸。
?????? 說(shuō)了這么多皱炉,感覺做一個(gè)算法工程師不僅僅要會(huì)優(yōu)化算法,滿足要求狮鸭,前期后期仿佛都是你的責(zé)任合搅,最近幾年算法工程師的標(biāo)準(zhǔn)也確實(shí)越來(lái)越高了,好好加油吧歧蕉!