您的位置: 首頁 >精選綜合 >

Facebook已發(fā)布機器學習工具以幫助工程師編碼

2019-04-16 09:11:54 編輯: 來源:
導(dǎo)讀 Facebook已發(fā)布機器學習工具以幫助工程師編碼Facebook AI發(fā)布了Aroma,這是一種能夠搜索大型圖書館并向工程師提供代碼推薦的機器學習工具

Facebook已發(fā)布機器學習工具以幫助工程師編碼Facebook AI發(fā)布了Aroma,這是一種能夠搜索大型圖書館并向工程師提供代碼推薦的機器學習工具。工程師通常會編寫與其他地方使用的代碼類似或相同的代碼。允許程序員搜索Github等大量代碼庫的工具在幫助工程師相互學習,擴展和修改代碼,避免常見錯誤和錯誤,甚至執(zhí)行質(zhì)量檢查方面都非常有價值。

過去沒有這樣的工具存在。但Facebook的AI團隊發(fā)布了一個工具,利用機器學習為工程師提供代碼建議,以幫助他們自己編寫基于機器學習的工具,應(yīng)用程序和算法。

類似于Google的圖像搜索功能可以使用圖像進行搜索以查找類似和相同的圖像,F(xiàn)acebook的代碼推薦引擎(稱為Aroma)可以使用代碼片段進行查詢,以便在其他地方找到該代碼的類似用法 - 為工程師提供簡便的方法了解其他開發(fā)人員如何在其他項目中實現(xiàn)特定的代碼。通過利用機器學習,Aroma不僅能夠找到代碼片段的精確匹配,還能夠找到它的不同迭代,并確保沒有兩個建議彼此太相似。

在這個為期一周的課程中,我們將看到兩個低成本但功能豐富的電子設(shè)計自動化(EDA)程序:CircuitStudio和KiCad。

根據(jù)Facebook的人工智能團隊的說法,在Aroma之前,沒有現(xiàn)成的工具真正解決了以高效準確的方式搜索大型代碼庫的問題。“文檔工具并不總是可用且可能過時,代碼搜索工具通常會返回無數(shù)匹配結(jié)果,并且很難立即找到慣用的使用模式,”Facebook軟件工程師Celeste Barnaby,Satish Chandra和Frank Luan寫道博客文章。“通過Aroma,工程師可以輕松找到常見的編碼模式,而無需手動瀏覽數(shù)十個代碼段,從而節(jié)省了日常開發(fā)工作流程的時間和精力。”

Facebook AI還發(fā)表了一篇詳細介紹Aroma開發(fā)和測試的論文。

假設(shè)您已經(jīng)編寫了一些代碼,但是您想要查看其他在類似項目上工作的人是如何實現(xiàn)它的??吹狡渌绦騿T設(shè)置的選項或處理的常見錯誤可以幫助避免在您自己的工作中出現(xiàn)相同的陷阱。

Aroma可以在大型代碼庫中搜索包含與您的模式相同的模式的代碼片段集,并實時生成代碼建議。據(jù)Facebook稱,該工具也與語言無關(guān),可以識別許多流行語言,包括但不限于Python,Javascript和Java。

Aroma通過三個步驟創(chuàng)建代碼推薦:第一步是基于特征的搜索 - 基本上Aroma梳理代碼,并解析最重要的細節(jié)。然后它使用它根據(jù)相似性對其代碼庫中的代碼進行排名。

第二步是對候選人進行聚類。這是通過修剪每個候選者以刪除任何不相關(guān)的代碼位并重新排列推薦來完成的。然后在新的候選列表中搜索相似的代碼片段,其中包含可能對工程師有用的額外編碼語句。

最后,檢查代碼建議以確保沒有太相似。這可以確保Aroma可以返回有用而非冗余的結(jié)果。最終,Aroma接受工程師的代碼查詢,將其分解為基本組件,并使用該基本代碼查找類似和增強代碼的集群,同時還刪除任何冗余或無用的示例。

在開發(fā)Aroma Facebook AI時,工程師根據(jù)人們在熱門編碼討論網(wǎng)站Stack Overflow上提出的建議對其進行了測試。

根據(jù)該研究:“我們手動分析并將建議分類為幾個代表性類別。我們還評估了50個部分代碼片段的Aroma建議,其中我們發(fā)現(xiàn)Aroma可以推薦37個查詢的確切代碼片段,而在剩余的13個案例中,Aroma推薦了仍然有用的替代建議。

據(jù)研究人員稱,平均而言,Aroma能夠在1.6秒內(nèi)從查詢中返回建議。

在他們的博客文章中,F(xiàn)acebook AI工程師表示,他們希望Aroma將成為一種工具,幫助工程師輕松發(fā)現(xiàn)和學習已有的代碼。就像AI被提議承擔與自動化相關(guān)的枯燥,重復(fù)的任務(wù)一樣,允許人類工作者專注于更高級別的工作職能,F(xiàn)acebook希望Aroma和類似的工具可以為程序員提供同樣的優(yōu)勢。“......我們相信編程應(yīng)該成為一個半自由的任務(wù),人類表達更高層次的想法,詳細的實施是由計算機本身完成的。”


免責聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

最新文章

精彩推薦

圖文推薦

點擊排行

2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ   備案號:

本站除標明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。

郵箱:toplearningteam#gmail.com (請將#換成@)