1
本文作者: 李尊 | 2016-09-20 18:41 |
導(dǎo)讀:Go又稱Golang,是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型且具有垃圾回收功能的編程語言。Go語言于2009年11月正式宣布推出并開放源代碼,開始在Linux及Mac OS X平臺上進(jìn)行了實現(xiàn),后追加Windows系統(tǒng)下的實現(xiàn)。
大部分用過Go語言的人都認(rèn)可其是一種非常不錯的生產(chǎn)力工具,有人總結(jié)其優(yōu)點如下:
部署簡單
并發(fā)性好
語言設(shè)計良好
執(zhí)行性能好
目前也有許多使用Go語言開發(fā)的成功項目,包括:nsq、docker、packer、skynet、Doozer、Heka、cbfs、tsuru、groupcache、god、gor等。鑒于其成功經(jīng)驗,有開發(fā)者想用Go語言來進(jìn)行機器學(xué)習(xí)項目的開發(fā)?,F(xiàn)在有一個好消息,對于想要使用Go語言作為開發(fā)平臺的機器學(xué)習(xí)開發(fā)者來說,有越來越多的項目可以去進(jìn)行選擇了,雖然還是不多。
與其使用其他編程語言(主要是C/C++)編寫的資料庫,開發(fā)者現(xiàn)在能直接使用完全用Go語言編寫的工具包展開工作了?,F(xiàn)有的用其他語言編寫的機器學(xué)習(xí)資料庫雖然有很多的用戶以及其特有文化,但是很多人對利用Go語言工具的便利特性也十分有興趣。
下面我們來了解幾個主要的Go語言機器學(xué)習(xí)項目:
GoLearn是自稱“內(nèi)置電池”的機器學(xué)習(xí)資料庫,絕對是首選項之一。
作者在項目描述中提到——簡潔、易定制是其追求的目標(biāo)。GoLearn中一些接口使用的數(shù)據(jù)處理方式和scikit-learn(一個非常流行的Python機器學(xué)習(xí)項目)是非常相似的。想要逃離Python的用戶應(yīng)該可以用它做一些短期的工作。其中另外還有一些使用C++構(gòu)筑的線性模型資料庫,但是其他的全是Go語言編寫的。GoLearn實現(xiàn)了熟悉的Scikit-learn 適應(yīng)/預(yù)測界面,可實現(xiàn)快速預(yù)估測試和交換。GoLearn是一個成熟的項目,它提供了交叉驗證和訓(xùn)練/測試等輔助功能。
Goml
Goml自詡為“在線Golang機器學(xué)習(xí)工具”,據(jù)其開發(fā)者所言意思是其“包含了許多工具,能讓你以在線方式學(xué)習(xí)其頻道的數(shù)據(jù)內(nèi)容?!边@個項目之所以突出是因為其強調(diào)了其作為其他應(yīng)用一部分存在的可能性,使得構(gòu)筑“綜合測試、大量文檔以及簡潔、高效、模塊化的源代碼”更加容易些了。但是如果你需要的知識解決基礎(chǔ)的二元分類問題(是否是垃圾郵件?),你可能更適合使用Hector這個更小型的資料庫。
最新的一個分支(或者某種程度上說最令人感興趣的)是Gorgonia。
這個機器學(xué)習(xí)資料庫完全是用Go語言編寫而成,據(jù)其開發(fā)者“chewxy”稱能“提供動態(tài)建立神經(jīng)網(wǎng)絡(luò)及相關(guān)算法必需條件?!?/p>
關(guān)鍵在于“動態(tài)”。和之前的機器學(xué)習(xí)資料庫Theano一樣,Gorgonia允許你使用一系列原始資料庫中的高階術(shù)語來描述神經(jīng)網(wǎng)絡(luò)的行為。TensorFlow資料庫也使用這種方式,使得開發(fā)者不用再親自編寫算法,也不用再提交那些能在不同項目中重復(fù)使用的項目。
為什么使用Go語言來編寫這個機器學(xué)習(xí)項目Gorgonia?
其開發(fā)者在接受采訪中提到:“我寫Gorgonia其中一個原因是我曾經(jīng)花費太久的時間嘗試云端中部署Theano(大約在兩年前)。”
總結(jié):一個純粹的Go語言解決方案,這意味著需要從其他編寫語言中打包并將其糅合到一起的部分更少了。但是擁有這些Go語言資料庫的主要優(yōu)勢并不在于部署,而是在于開發(fā)者的便利度。未來的機器學(xué)習(xí)開發(fā)者將有許多種開發(fā)語言可供選擇,同時也意味著現(xiàn)在的Go語言開發(fā)者如果想要往機器學(xué)習(xí)專家方向發(fā)展的話也可以輕松一點。
Via infoworld
PS : 本文由雷鋒網(wǎng)獨家編譯,未經(jīng)許可拒絕轉(zhuǎn)載!
相關(guān)閱讀:
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。