2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ 備案號:
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
郵箱:toplearningteam#gmail.com (請將#換成@)
Facebook已發(fā)布機(jī)器學(xué)習(xí)工具以幫助工程師編碼Facebook AI發(fā)布了Aroma,這是一種能夠搜索大型圖書館并向工程師提供代碼推薦的機(jī)器學(xué)習(xí)工具。工程師通常會編寫與其他地方使用的代碼類似或相同的代碼。允許程序員搜索Github等大量代碼庫的工具在幫助工程師相互學(xué)習(xí),擴(kuò)展和修改代碼,避免常見錯(cuò)誤和錯(cuò)誤,甚至執(zhí)行質(zhì)量檢查方面都非常有價(jià)值。
過去沒有這樣的工具存在。但Facebook的AI團(tuán)隊(duì)發(fā)布了一個(gè)工具,利用機(jī)器學(xué)習(xí)為工程師提供代碼建議,以幫助他們自己編寫基于機(jī)器學(xué)習(xí)的工具,應(yīng)用程序和算法。
類似于Google的圖像搜索功能可以使用圖像進(jìn)行搜索以查找類似和相同的圖像,F(xiàn)acebook的代碼推薦引擎(稱為Aroma)可以使用代碼片段進(jìn)行查詢,以便在其他地方找到該代碼的類似用法 - 為工程師提供簡便的方法了解其他開發(fā)人員如何在其他項(xiàng)目中實(shí)現(xiàn)特定的代碼。通過利用機(jī)器學(xué)習(xí),Aroma不僅能夠找到代碼片段的精確匹配,還能夠找到它的不同迭代,并確保沒有兩個(gè)建議彼此太相似。
在這個(gè)為期一周的課程中,我們將看到兩個(gè)低成本但功能豐富的電子設(shè)計(jì)自動化(EDA)程序:CircuitStudio和KiCad。
根據(jù)Facebook的人工智能團(tuán)隊(duì)的說法,在Aroma之前,沒有現(xiàn)成的工具真正解決了以高效準(zhǔn)確的方式搜索大型代碼庫的問題。“文檔工具并不總是可用且可能過時(shí),代碼搜索工具通常會返回?zé)o數(shù)匹配結(jié)果,并且很難立即找到慣用的使用模式,”Facebook軟件工程師Celeste Barnaby,Satish Chandra和Frank Luan寫道博客文章。“通過Aroma,工程師可以輕松找到常見的編碼模式,而無需手動瀏覽數(shù)十個(gè)代碼段,從而節(jié)省了日常開發(fā)工作流程的時(shí)間和精力。”
Facebook AI還發(fā)表了一篇詳細(xì)介紹Aroma開發(fā)和測試的論文。
假設(shè)您已經(jīng)編寫了一些代碼,但是您想要查看其他在類似項(xiàng)目上工作的人是如何實(shí)現(xiàn)它的??吹狡渌绦騿T設(shè)置的選項(xiàng)或處理的常見錯(cuò)誤可以幫助避免在您自己的工作中出現(xiàn)相同的陷阱。
Aroma可以在大型代碼庫中搜索包含與您的模式相同的模式的代碼片段集,并實(shí)時(shí)生成代碼建議。據(jù)Facebook稱,該工具也與語言無關(guān),可以識別許多流行語言,包括但不限于Python,Javascript和Java。
Aroma通過三個(gè)步驟創(chuàng)建代碼推薦:第一步是基于特征的搜索 - 基本上Aroma梳理代碼,并解析最重要的細(xì)節(jié)。然后它使用它根據(jù)相似性對其代碼庫中的代碼進(jìn)行排名。
第二步是對候選人進(jìn)行聚類。這是通過修剪每個(gè)候選者以刪除任何不相關(guān)的代碼位并重新排列推薦來完成的。然后在新的候選列表中搜索相似的代碼片段,其中包含可能對工程師有用的額外編碼語句。
最后,檢查代碼建議以確保沒有太相似。這可以確保Aroma可以返回有用而非冗余的結(jié)果。最終,Aroma接受工程師的代碼查詢,將其分解為基本組件,并使用該基本代碼查找類似和增強(qiáng)代碼的集群,同時(shí)還刪除任何冗余或無用的示例。
在開發(fā)Aroma Facebook AI時(shí),工程師根據(jù)人們在熱門編碼討論網(wǎng)站Stack Overflow上提出的建議對其進(jìn)行了測試。
根據(jù)該研究:“我們手動分析并將建議分類為幾個(gè)代表性類別。我們還評估了50個(gè)部分代碼片段的Aroma建議,其中我們發(fā)現(xiàn)Aroma可以推薦37個(gè)查詢的確切代碼片段,而在剩余的13個(gè)案例中,Aroma推薦了仍然有用的替代建議。
據(jù)研究人員稱,平均而言,Aroma能夠在1.6秒內(nèi)從查詢中返回建議。
在他們的博客文章中,F(xiàn)acebook AI工程師表示,他們希望Aroma將成為一種工具,幫助工程師輕松發(fā)現(xiàn)和學(xué)習(xí)已有的代碼。就像AI被提議承擔(dān)與自動化相關(guān)的枯燥,重復(fù)的任務(wù)一樣,允許人類工作者專注于更高級別的工作職能,F(xiàn)acebook希望Aroma和類似的工具可以為程序員提供同樣的優(yōu)勢。“......我們相信編程應(yīng)該成為一個(gè)半自由的任務(wù),人類表達(dá)更高層次的想法,詳細(xì)的實(shí)施是由計(jì)算機(jī)本身完成的。”
2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ 備案號:
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
郵箱:toplearningteam#gmail.com (請將#換成@)