自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI幫你寫Python,安裝只需5步,還能任你調(diào)教

新聞 人工智能
一行一行地敲代碼就像是徒手搬磚,聰明的程序猿們表示:我們要解放生產(chǎn)力!

 [[269874]]

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

一行一行地敲代碼就像是徒手搬磚,聰明的程序猿們表示:我們要解放生產(chǎn)力!

比如像這樣:

AI幫你寫Python,安裝只需5步,還能任你調(diào)教 | 開源

在機(jī)器學(xué)習(xí)的時(shí)代,AI智能補(bǔ)全代碼早已不是夢想,各種IDE和插件都在努力幫助程序猿減少擊鍵次數(shù),延長鍵盤壽命。

有位來自斯里蘭卡的程序猿也加入了關(guān)愛鍵盤協(xié)會(huì),他嘗試用簡單的深度學(xué)習(xí)模型來實(shí)現(xiàn)自動(dòng)補(bǔ)全Python代碼這個(gè)目標(biāo),效果意外的不錯(cuò)。該項(xiàng)目現(xiàn)已開源

簡單的模型也強(qiáng)大

抱著實(shí)驗(yàn)的心態(tài),在這個(gè)項(xiàng)目中,斯里蘭卡小哥用到的只是一個(gè)簡單的LSTM(Long Short-Term Memory)模型。

用來進(jìn)行預(yù)測的算法是集束搜索(beam search),這是一種啟發(fā)式圖搜索算法。在進(jìn)行每一步深度擴(kuò)展時(shí),集束搜索僅保留一些質(zhì)量較高的節(jié)點(diǎn),減少空間消耗,提高時(shí)間效率。采用集束搜索算法最多可以實(shí)現(xiàn)10個(gè)字符的預(yù)測。

而投喂給模型的數(shù)據(jù)是標(biāo)記化的Python代碼,這些代碼里的注釋、字符串和空行事先清理掉了。

訓(xùn)練效果是這樣的:

AI幫你寫Python,安裝只需5步,還能任你調(diào)教 | 開源
AI幫你寫Python,安裝只需5步,還能任你調(diào)教 | 開源

綠色的字母就是自動(dòng)補(bǔ)全開始的位置,按下TAB鍵選擇補(bǔ)全,高亮標(biāo)注為灰色的部分就是AI補(bǔ)充的代碼。

小哥表示,如此簡單的模型下,使用深度學(xué)習(xí)來自動(dòng)補(bǔ)全Python代碼,仍可以減少30-50%的擊鍵次數(shù),真的是surprise!

在GitHub上,小哥提供了一個(gè)Python的解析器,而只要寫一個(gè)其他語言的解析器,這個(gè)方案完全可以推廣到其他語言上,實(shí)現(xiàn)Java自動(dòng)補(bǔ)全,C自動(dòng)補(bǔ)全等等。

使用方法

想要親測一下效果?

沒問題,只需五步,你就可以訓(xùn)練自己的自動(dòng)補(bǔ)全模型。

[[269875]]

1、安裝進(jìn)行機(jī)器學(xué)習(xí)的實(shí)驗(yàn)環(huán)境(lab,地址見文末)。

2、將數(shù)據(jù)復(fù)制到 ./data/source。

3、運(yùn)行 extract_code.py 來收集所有的python文件,編碼并將其合并到 all.py。

4、運(yùn)行 evaluate.py 對模型進(jìn)行評估。

5、運(yùn)行 train.py 訓(xùn)練模型。

仍需成長

方法簡單,效果還挺好,聽上去這個(gè)項(xiàng)目很有潛力啊。不過理想很豐滿,現(xiàn)實(shí)還是有點(diǎn)骨感的。這個(gè)新生的AI還是面臨著許多成長挑戰(zhàn)的。

挑戰(zhàn)一:效率太低

首先是它的性能尚未能滿足實(shí)際使用的需要。由于編輯集成器的限制,集束搜索算法效率低下,有等它補(bǔ)全代碼的時(shí)間,手動(dòng)都可以敲好幾行代碼了。

對此斯里蘭卡小哥表示,下一步他們會(huì)嘗試用不同的架構(gòu)來提高推理性能,也歡迎大家向他們分享想法和建議。

挑戰(zhàn)二:前輩強(qiáng)大

Reddit網(wǎng)友們還指出,用機(jī)器學(xué)習(xí)來補(bǔ)全代碼這個(gè)想法早已有比較成功的實(shí)現(xiàn)方案,比如獲得了Trith Ventures投資的Kite。

AI幫你寫Python,安裝只需5步,還能任你調(diào)教 | 開源

全球有超過3萬名Python開發(fā)人員使用Kite,它被譽(yù)為當(dāng)前好用的Python自動(dòng)補(bǔ)全工具。不僅能補(bǔ)全代碼,Kite還能幫你跳過文檔了解到別人是如何實(shí)時(shí)使用函數(shù)的,同時(shí),它也能提供你的自定義代碼庫里的定義和用法。

連Python之父都忍不住為Kite點(diǎn)贊:這可真夠酷的。

AI幫你寫Python,安裝只需5步,還能任你調(diào)教 | 開源

比起Kite這位前輩,小哥的這個(gè)項(xiàng)目還是非常稚嫩的,不過Kite并沒有開源,其作為補(bǔ)充使用的云引擎也引起了有關(guān)安全性的質(zhì)疑,有網(wǎng)友表示:

要是在工作上用了Kite,貴公司的法務(wù)部門怕不是要瘋。

AI幫你寫Python,安裝只需5步,還能任你調(diào)教 | 開源

此外,還有網(wǎng)友好奇AI跟Pycharm比起來又如何?畢竟Pycharm的自動(dòng)補(bǔ)全就已經(jīng)挺好用了。

傳送門

Github:https://github.com/vpj/python_autocomplete

Lab:https://github.com/vpj/lab

 

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2021-03-02 07:02:45

Linux操作系統(tǒng)

2015-06-09 09:25:34

2010-09-28 14:15:34

清除DLL木馬

2021-03-23 10:25:01

Linux 系統(tǒng) 數(shù)據(jù)

2016-10-11 09:51:22

Windows桌面圖標(biāo)

2010-06-12 13:49:16

學(xué)習(xí)UML

2024-05-10 13:53:25

人工智能AI大模型

2010-07-09 12:08:36

設(shè)置SNMP協(xié)議

2020-12-04 07:49:54

AICtrl C代碼

2011-05-04 18:50:58

2024-01-03 17:29:47

2010-09-06 15:56:12

PPPOE Serve

2021-09-28 08:00:32

數(shù)據(jù)安全網(wǎng)絡(luò)風(fēng)險(xiǎn)網(wǎng)絡(luò)安全

2022-11-28 11:43:24

數(shù)據(jù)分析不及格數(shù)據(jù)驗(yàn)證

2020-10-16 12:30:58

AI對象軟件

2019-09-01 22:50:39

2022-12-12 12:04:59

ChatGPT代碼軟件

2010-06-30 13:02:30

2011-07-18 16:11:32

域控制器

2018-01-10 16:07:55

數(shù)據(jù)數(shù)據(jù)分析企業(yè)轉(zhuǎn)型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)