91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度學(xué)習(xí)腦補缺失 TF 代碼

5RJg_mcuworld ? 來源:YXQ ? 2019-08-06 11:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在項目開發(fā)中,優(yōu)秀的代碼自動補全工具可以提升工作效率。然而,近來的 IDE 基本都使用搜索方法進行補全,在一些場景下效果不佳。

近日,有開源項目用深度學(xué)習(xí)模型進行代碼補全,顯示出非常有潛力的效果。

近日,Reddit 上的一篇帖子引起了網(wǎng)友的熱議。帖子作者「mlvpj」稱:

「我們使用深度學(xué)習(xí)完成了一個簡單的項目,可以自動進行 Python 代碼補全。」

根據(jù)介紹,該項目基于 LSTM 模型,訓(xùn)練后,負責(zé)對代碼的缺失部分進行補全。評價模型的方法是判斷節(jié)省了多少的按鍵信息——即模型給出長度為 L 的代碼建議,如果和真實的代碼匹配,則節(jié)省 L - 1 個鍵入操作。實驗結(jié)果說明,大約有 30%-50% 的鍵入成本可以節(jié)省下來。

作者在帖子中表示,他們接下來會嘗試不同的架構(gòu),并提高推斷的表現(xiàn)。而現(xiàn)在的模型推斷很慢,不能實際使用。作者已在 GitHub 開源了項目代碼:

和 IDE 的自動補全有什么區(qū)別

該項目對 Python 代碼的自動補全與傳統(tǒng) IDE(如 PyCharm)等不同。IDE 補全基于檢索方法,需要從已有代碼中進行搜索。

以 PyCharm 中的基本補全(Basic Completion)方法為例?;狙a全可幫助補全可見區(qū)域的類、方法、關(guān)鍵詞代碼。使用時,PyCharm 會分析補全使用情況,并提供當(dāng)前位置可能的選擇。如果是對空間、參數(shù)或變量聲明進行補全,則 PyCharm 會基于類別提供一系列可能的命名。

當(dāng)出現(xiàn)已定義的類、函數(shù)、模塊和變量時,基本補全就會啟動。

此外,PyCharm 也提供智能補全等其他補全功能,但基本上都需要對已有文本進行搜索,根據(jù)位置和類型判斷補全的方法。這些方法都沒有配置機器學(xué)習(xí)模型。

Pycharm 的自動補全介紹:https://www.jetbrains.com/help/pycharm/auto-completing-code.html

深度學(xué)習(xí)怎樣腦補缺失 TF 代碼

最常用的 PyCharm 自動補全也能省很多功夫,但它需要 IDE 能檢索到你的代碼文件或庫,而且補全會提供多個可能的選項。但是在本項目實驗的工具中,LSTM 會根據(jù)上下文語義確定最可能調(diào)用的函數(shù),因此它能節(jié)省更多的成本。作者表示如果使用束搜索,那么一次能預(yù)測 10 多個字符,不過這樣對于實際使用還是有點低效。

在訓(xùn)練深度補全模型前,我們需要先建立訓(xùn)練集。開發(fā)者會在清洗評論、標注和空行后,構(gòu)建比較干凈的 Python 代碼。然后,模型會在這些數(shù)據(jù)上進行訓(xùn)練與預(yù)測。在數(shù)據(jù)預(yù)處理上,開發(fā)者發(fā)現(xiàn)通過 tokenizing Python 代碼,模型效果比通過 BPE 編碼的字符級預(yù)測效果還要好。作者提供了一個簡單的預(yù)訓(xùn)練模型,它是在整個 TensorFlow 項目的 models 代碼中訓(xùn)練的。

下圖就是作者在驗證集中測試的驗證樣本。綠色的字符表示自動補全的起始位置,用戶需要按下 Tab 鍵選擇開始補全。綠色及后面高亮的灰色字符是自動補全的結(jié)果。

如上所示為驗證樣本中的自動補全效果。與代碼生成類似,粗略看起來,似乎效果非常不錯,但實際上會有很多不合理的地方。不過有意思的是,自動補全中所有字符串都只有一個占位操作,這也是非常合理的處理方法。

樣本中自動補全的起始和結(jié)束位置都是隨機的,也就是說代碼可能補全到「tensorfl」就結(jié)束了,并不會補全完整的標識符「tensorflow」。這在實際場景中用處非常有限,因此作者將生成結(jié)束位置限制為終止 token 而修復(fù)問題。目前自動補全能完成多種 operator,且當(dāng)我們增加束搜索的長度時,它完成的代碼長度會更多。

整個模型的主體都是 LSTM,它在 TensorFlow 模型代碼庫訓(xùn)練后能捕捉非常豐富的 TensorFlow API。如下所示為自動補全模型的主體代碼,基本上簡單的一個 LSTM 就能搞定:

網(wǎng)友評價

項目開源后,有些網(wǎng)友對作者提出了質(zhì)疑:

「我們已經(jīng)有很多很好用的自動補全工具了,比如 kite(一個可以在 IDE 上使用的插件),為什么還要費心搞個機器學(xué)習(xí)模型?」

在討論中,有人提出,一些無良的自動補全工具會悄悄上傳代碼到他們的服務(wù)器中,(而自行訓(xùn)練的深度學(xué)習(xí)模型不存在這個問題)。

也有人提出,其實不一定要用 LSTM 模型,隱馬爾科夫模型在處理序列數(shù)據(jù)上效果也很好。

此外,也有網(wǎng)友建議使用 CuDNN 加速 LSTM 的推斷過程。這樣能大大提升推斷速度,集成到 IDE 中也就有了可能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    91

    文章

    40320

    瀏覽量

    301893
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4973

    瀏覽量

    74155
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5600

    瀏覽量

    124489

原文標題:你是成熟的 AI 了,應(yīng)該自己學(xué)會補全代碼!

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    是德科技打造機接口無線共存測試解決方案

    之前,我們曾寫過有關(guān)機接口的微信文章介紹過機接口技術(shù)。近一個月來機接口市場又熱鬧起來啦!
    的頭像 發(fā)表于 01-21 11:00 ?2374次閱讀
    是德科技打造<b class='flag-5'>腦</b>機接口無線共存測試解決方案

    TF卡燒錄異常該如何處理?

    在燒錄固件到TF卡時,您可能會遇到一些問題,例如標準固件無法燒錄成功,或者某些TF卡可以正常燒錄,而其他卡則不行。為了解決這些問題,我們建議您執(zhí)行以下兩個操作:1.TF卡硬件讀寫檢測從
    的頭像 發(fā)表于 01-08 11:51 ?292次閱讀
    <b class='flag-5'>TF</b>卡燒錄異常該如何處理?

    機器學(xué)習(xí)深度學(xué)習(xí)中需避免的 7 個常見錯誤與局限性

    無論你是剛?cè)腴T還是已經(jīng)從事人工智能模型相關(guān)工作一段時間,機器學(xué)習(xí)深度學(xué)習(xí)中都存在一些我們需要時刻關(guān)注并銘記的常見錯誤。如果對這些錯誤置之不理,日后可能會引發(fā)諸多麻煩!只要我們密切關(guān)注數(shù)據(jù)、模型架構(gòu)
    的頭像 發(fā)表于 01-07 15:37 ?256次閱讀
    機器<b class='flag-5'>學(xué)習(xí)</b>和<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>中需避免的 7 個常見錯誤與局限性

    穿孔機頂頭檢測儀 機器視覺深度學(xué)習(xí)

    LX01Z-DG626穿孔機頂頭檢測儀采用深度學(xué)習(xí)技術(shù),能夠?qū)崿F(xiàn)頂頭狀態(tài)的在線實時檢測,頂頭丟失報警,頂頭異常狀態(tài)報警等功能,響應(yīng)迅速,異常狀態(tài)視頻回溯,檢測頂頭溫度,配備吹掃清潔系統(tǒng),維護周期長
    發(fā)表于 12-22 14:33

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實戰(zhàn)課(11大系列課程,共5000+分鐘)

    的亮點及優(yōu)勢? 一、課程亮點 工業(yè)級案例:包含雙CCD光學(xué)分選轉(zhuǎn)盤、機械手手眼協(xié)調(diào)等12個完整項目 源碼交付:所有案例提供LabVIEW源代碼,包含深度學(xué)習(xí)模型DLL 硬件聯(lián)動:支持工業(yè)相機硬觸發(fā)
    發(fā)表于 12-04 09:28

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實戰(zhàn)課程(11大系列課程,共5000+分鐘)

    的亮點及優(yōu)勢? 一、課程亮點 工業(yè)級案例:包含雙CCD光學(xué)分選轉(zhuǎn)盤、機械手手眼協(xié)調(diào)等12個完整項目 源碼交付:所有案例提供LabVIEW源代碼,包含深度學(xué)習(xí)模型DLL 硬件聯(lián)動:支持工業(yè)相機硬觸發(fā)
    發(fā)表于 12-03 13:50

    如何深度學(xué)習(xí)機器視覺的應(yīng)用場景

    深度學(xué)習(xí)視覺應(yīng)用場景大全 工業(yè)制造領(lǐng)域 復(fù)雜缺陷檢測:處理傳統(tǒng)算法難以描述的非標準化缺陷模式 非標產(chǎn)品分類:對形狀、顏色、紋理多變的產(chǎn)品進行智能分類 外觀質(zhì)量評估:基于學(xué)習(xí)的外觀質(zhì)量標準判定 精密
    的頭像 發(fā)表于 11-27 10:19 ?259次閱讀

    傳感:無創(chuàng)機接口在神經(jīng)康復(fù)領(lǐng)域的技術(shù)突破與臨床實踐

    11月11日,第四屆南渡江智慧醫(yī)療與康復(fù)產(chǎn)業(yè)高峰論壇在海南省??谑姓匍_。本屆會議深度探討了數(shù)字療法、機接口和康復(fù)機器人的發(fā)展現(xiàn)狀與機遇,旨在推動智慧醫(yī)療與康復(fù)及大健康產(chǎn)業(yè)的協(xié)同發(fā)展。 ? 在“
    發(fā)表于 11-11 14:48 ?4111次閱讀

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+神經(jīng)形態(tài)計算、類芯片

    AI芯片不僅包括深度學(xué)細AI加速器,還有另外一個主要列別:類芯片。類芯片是模擬人腦神經(jīng)網(wǎng)絡(luò)架構(gòu)的芯片。它結(jié)合微電子技術(shù)和新型神經(jīng)形態(tài)器件,模仿人腦神經(jīng)系統(tǒng)機選原理進行設(shè)計,實現(xiàn)類似人腦的超低
    發(fā)表于 09-17 16:43

    如何在機器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    圖 1:基于深度學(xué)習(xí)的目標檢測可定位已訓(xùn)練的目標類別,并通過矩形框(邊界框)對其進行標識。 在討論人工智能(AI)或深度學(xué)習(xí)時,經(jīng)常會出現(xiàn)“神經(jīng)網(wǎng)絡(luò)”、“黑箱”、“標注”等術(shù)語。這些概
    的頭像 發(fā)表于 09-10 17:38 ?958次閱讀
    如何在機器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    深度學(xué)習(xí)對工業(yè)物聯(lián)網(wǎng)有哪些幫助

    深度學(xué)習(xí)作為人工智能的核心分支,通過模擬人腦神經(jīng)網(wǎng)絡(luò)的層級結(jié)構(gòu),能夠自動從海量工業(yè)數(shù)據(jù)中提取復(fù)雜特征,為工業(yè)物聯(lián)網(wǎng)(IIoT)提供了從數(shù)據(jù)感知到智能決策的全鏈路升級能力。以下從技術(shù)賦能、場景突破
    的頭像 發(fā)表于 08-20 14:56 ?1090次閱讀

    啟社區(qū)第二屆類智能創(chuàng)新大賽正式啟動

    近日,啟社區(qū)第二屆類智能創(chuàng)新大賽啟動儀式在廣州舉辦。本次大賽整體由中國神經(jīng)科學(xué)學(xué)會類智能分會及清華大學(xué)類計算研究中心指導(dǎo),由中電??导瘓F主辦,
    的頭像 發(fā)表于 08-18 16:11 ?1380次閱讀

    自動駕駛中Transformer大模型會取代深度學(xué)習(xí)嗎?

    [首發(fā)于智駕最前沿微信公眾號]近年來,隨著ChatGPT、Claude、文心一言等大語言模型在生成文本、對話交互等領(lǐng)域的驚艷表現(xiàn),“Transformer架構(gòu)是否正在取代傳統(tǒng)深度學(xué)習(xí)”這一話題一直被
    的頭像 發(fā)表于 08-13 09:15 ?4258次閱讀
    自動駕駛中Transformer大模型會取代<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>嗎?

    共建標準,共享未來:狄耐克積極參與機產(chǎn)業(yè)規(guī)范化建設(shè)

    感化智能家居控制等突破性發(fā)展。作為人工智能與神經(jīng)科學(xué)的交叉前沿,機領(lǐng)域?qū)⑹侨蚩萍几偁幍闹聘唿c。 近年來,中國機市場仍處于快速發(fā)展期,技術(shù)路徑多元、應(yīng)用場景分散、行業(yè)標準缺失等問題制約著產(chǎn)業(yè)化進程。為應(yīng)對這些挑戰(zhàn),國家層面也
    的頭像 發(fā)表于 04-25 09:58 ?1040次閱讀
    共建標準,共享未來:狄耐克積極參與<b class='flag-5'>腦</b>機產(chǎn)業(yè)規(guī)范化建設(shè)

    嵌入式AI技術(shù)之深度學(xué)習(xí):數(shù)據(jù)樣本預(yù)處理過程中使用合適的特征變換對深度學(xué)習(xí)的意義

    ? 作者:蘇勇Andrew 使用神經(jīng)網(wǎng)絡(luò)實現(xiàn)機器學(xué)習(xí),網(wǎng)絡(luò)的每個層都將對輸入的數(shù)據(jù)做一次抽象,多層神經(jīng)網(wǎng)絡(luò)構(gòu)成深度學(xué)習(xí)的框架,可以深度理解數(shù)據(jù)中所要表示的規(guī)律。從原理上看,使用
    的頭像 發(fā)表于 04-02 18:21 ?1566次閱讀