在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

深度學習腦補缺失 TF 代碼

5RJg_mcuworld ? 來源:YXQ ? 2019-08-06 11:18 ? 次閱讀

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

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

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

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

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

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

和 IDE 的自動補全有什么區別

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

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

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

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

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

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

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

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

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

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

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

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

網友評價

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

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

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

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

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

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

    關注

    87

    文章

    32116

    瀏覽量

    271025
  • 代碼
    +關注

    關注

    30

    文章

    4851

    瀏覽量

    69351
  • 深度學習
    +關注

    關注

    73

    文章

    5523

    瀏覽量

    121745

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

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

收藏 人收藏

    評論

    相關推薦

    NPU在深度學習中的應用

    隨著人工智能技術的飛速發展,深度學習作為其核心驅動力之一,已經在眾多領域展現出了巨大的潛力和價值。NPU(Neural Processing Unit,神經網絡處理單元)是專門為深度學習
    的頭像 發表于 11-14 15:17 ?1123次閱讀

    GPU深度學習應用案例

    GPU在深度學習中的應用廣泛且重要,以下是一些GPU深度學習應用案例: 一、圖像識別 圖像識別是深度學習
    的頭像 發表于 10-27 11:13 ?584次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :深度
    的頭像 發表于 10-23 15:25 ?1719次閱讀

    深度學習算法在嵌入式平臺上的部署

    隨著人工智能技術的飛速發展,深度學習算法在各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰性的任務。本文將從嵌入式平臺的特點、
    的頭像 發表于 07-15 10:03 ?1880次閱讀

    基于Python的深度學習人臉識別方法

    基于Python的深度學習人臉識別方法是一個涉及多個技術領域的復雜話題,包括計算機視覺、深度學習、以及圖像處理等。在這里,我將概述一個基本的流程,包括數據準備、模型選擇、訓練過程、以及
    的頭像 發表于 07-14 11:52 ?1350次閱讀

    深度學習中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學習深度學習領域的重要任務之一,廣泛應用于人體活動識別、系統監測、金融預測、醫療診斷等多個領域。隨著深度
    的頭像 發表于 07-09 15:54 ?1298次閱讀

    深度學習中的無監督學習方法綜述

    深度學習作為機器學習領域的一個重要分支,近年來在多個領域取得了顯著的成果,特別是在圖像識別、語音識別、自然語言處理等領域。然而,深度學習模型
    的頭像 發表于 07-09 10:50 ?1062次閱讀

    基于AI深度學習的缺陷檢測系統

    在工業生產中,缺陷檢測是確保產品質量的關鍵環節。傳統的人工檢測方法不僅效率低下,且易受人為因素影響,導致誤檢和漏檢問題頻發。隨著人工智能技術的飛速發展,特別是深度學習技術的崛起,基于AI深度
    的頭像 發表于 07-08 10:30 ?1772次閱讀

    深度學習與nlp的區別在哪

    深度學習和自然語言處理(NLP)是計算機科學領域中兩個非常重要的研究方向。它們之間既有聯系,也有區別。本文將介紹深度學習與NLP的區別。 深度
    的頭像 發表于 07-05 09:47 ?1137次閱讀

    深度學習中的模型權重

    深度學習這一充滿無限可能性的領域中,模型權重(Weights)作為其核心組成部分,扮演著至關重要的角色。它們不僅是模型學習的基石,更是模型智能的源泉。本文將從模型權重的定義、作用、優化、管理以及應用等多個方面,深入探討
    的頭像 發表于 07-04 11:49 ?2583次閱讀

    深度學習的基本原理與核心算法

    處理、語音識別等領域取得了革命性的突破。本文將詳細闡述深度學習的原理、核心算法以及實現方式,并通過一個具體的代碼實例進行說明。
    的頭像 發表于 07-04 11:44 ?2662次閱讀

    深度學習常用的Python庫

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學習研究和應用的首選工具。
    的頭像 發表于 07-03 16:04 ?777次閱讀

    深度學習與傳統機器學習的對比

    在人工智能的浪潮中,機器學習深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,為眾多領域帶來了革命性的變化。然而,盡管它們都屬于機器學習的范疇,但
    的頭像 發表于 07-01 11:40 ?1682次閱讀

    深度解析深度學習下的語義SLAM

    隨著深度學習技術的興起,計算機視覺的許多傳統領域都取得了突破性進展,例如目標的檢測、識別和分類等領域。近年來,研究人員開始在視覺SLAM算法中引入深度學習技術,使得
    發表于 04-23 17:18 ?1463次閱讀
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>學習</b>下的語義SLAM

    為什么深度學習的效果更好?

    導讀深度學習是機器學習的一個子集,已成為人工智能領域的一項變革性技術,在從計算機視覺、自然語言處理到自動駕駛汽車等廣泛的應用中取得了顯著的成功。深度
    的頭像 發表于 03-09 08:26 ?726次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的效果更好?
    主站蜘蛛池模板: 免费啪啪网站 | 日韩精品一区二区三区毛片 | 黄色午夜影院 | 黄大片18满岁水多 | 欧美男人天堂网 | 天堂网中文字幕 | 天天爽夜夜爽夜夜爽精品视频 | 高清精品女厕在线观看 | 天天摸天天舔天天操 | 69女poren18女 | 欧美黑人巨大xxxx猛交 | 夜夜操操操 | 最近在线观看免费完整视频 | 亚洲视频入口 | 免费黄色大片在线观看 | 91华人在线视频 | 人人做人人澡人人人爽 | 91精品国产91久久久久青草 | 四虎影院.com | www.色视频| 国产91啪| 日本黄色大片在线观看 | 狠狠色影院 | 特级毛片女人18毛片 | 噜噜色小说| 久久久久久夜精品精品免费 | 美女扒开尿囗给男人玩的动图 | 精品欧美一区二区三区在线观看 | 浮荡视频在线观看免费 | 日韩一级片在线观看 | 免费看污黄视频软件 | 黄网站视频在线观看 | 国产性老妇女做爰在线 | 狠狠色噜噜狠狠狠狠97老肥女 | 美女视频黄色的免费 | 天天做天天爱天天操 | 国产色片| 天堂资源在线播放 | 免费播放欧美毛片欧美aaaaa | 成人精品一级毛片 | 激情五月综合婷婷 |