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

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

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

3天內不再提示

深度學習腦補缺失 TF 代碼

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

掃碼添加小助手

加入工程師交流群

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

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

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

「我們使用深度學習完成了一個簡單的項目,可以自動進行 Python 代碼補全?!?/p>

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

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

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

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

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

當出現已定義的類、函數、模塊和變量時,基本補全就會啟動。

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

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

深度學習怎樣腦補缺失 TF 代碼

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

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

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

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

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

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

網友評價

項目開源后,有些網友對作者提出了質疑:

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

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

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

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

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

    關注

    91

    文章

    40384

    瀏覽量

    301959
  • 代碼
    +關注

    關注

    30

    文章

    4973

    瀏覽量

    74181
  • 深度學習
    +關注

    關注

    73

    文章

    5600

    瀏覽量

    124503

原文標題:你是成熟的 AI 了,應該自己學會補全代碼!

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

    機器學習深度學習中需避免的 7 個常見錯誤與局限性

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

    穿孔機頂頭檢測儀 機器視覺深度學習

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

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

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

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

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

    如何深度學習機器視覺的應用場景

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

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

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

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

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

    如何在機器視覺中部署深度學習神經網絡

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

    深度學習對工業(yè)物聯(lián)網有哪些幫助

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

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

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

    自動駕駛中Transformer大模型會取代深度學習嗎?

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

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

    感化智能家居控制等突破性發(fā)展。作為人工智能與神經科學的交叉前沿,機領域將是全球科技競爭的制高點。 近年來,中國機市場仍處于快速發(fā)展期,技術路徑多元、應用場景分散、行業(yè)標準缺失等問題制約著產業(yè)化進程。為應對這些挑戰(zhàn),國家層面也
    的頭像 發(fā)表于 04-25 09:58 ?1043次閱讀
    共建標準,共享未來:狄耐克積極參與<b class='flag-5'>腦</b>機產業(yè)規(guī)范化建設

    嵌入式AI技術之深度學習:數據樣本預處理過程中使用合適的特征變換對深度學習的意義

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