发烧友10周年庆典,全网超值优惠来袭!千元现金券,下单抽奖赶紧参与》》

深度学习脑补缺失 TF 代码

嵌入式资讯精选 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 了,应该自己学会补全代码!

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

小梅哥FPGA设计思想与验证方法视频教程

刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列
发表于 03-24 00:00 37952次 阅读
小梅哥FPGA设计思想与验证方法视频教程

医疗AI走出边缘的切入点在哪里

让AI医疗不仅仅是流于表面或者扮演边缘化的角色,或可自此而始。
发表于 09-19 16:49 5次 阅读
医疗AI走出边缘的切入点在哪里

中国电信:坚定开放合作的战略,推动“百千计划”升级产业

柯瑞文表示,最近几年,中国电信抓住IT发展机遇,不断加强云能力的建设,目前已经初步具备了一个拥有自主....
的头像 牵手一起梦 发表于 09-19 16:41 5次 阅读
中国电信:坚定开放合作的战略,推动“百千计划”升级产业

百度地图宣布上线语音定制功能,可定制属于自己的个性化的语音包

9月19日下午消息,百度地图宣布上线语音定制功能,每个用户都可以定制完全属于自己的个性化的语音包。据....
的头像 牵手一起梦 发表于 09-19 16:32 14次 阅读
百度地图宣布上线语音定制功能,可定制属于自己的个性化的语音包

人工智能与教育行业的结合将成为潮流趋势

近年来,得益于人工智能技术的提升和人工智能场景的应用,“AI+教育”在全球得到了蓬勃发展。据媒体报道....
发表于 09-19 15:58 7次 阅读
人工智能与教育行业的结合将成为潮流趋势

怎样构建以人为本的AI业务

随着移动应用、互联网的发展,通过技术实施犯罪案件逐年递增,传统安全防御方式无法有效抵御来自黑灰产的新....
发表于 09-19 15:53 8次 阅读
怎样构建以人为本的AI业务

华为Mate30系列新品发布会,新机参数亮点90%已曝光

即将于9月19日发布的华为Mate30系列新机,可谓“未发先火”。早前,国内外各路媒体对于华为Mat....
的头像 牵手一起梦 发表于 09-19 15:52 49次 阅读
华为Mate30系列新品发布会,新机参数亮点90%已曝光

电动汽车技术的性能与人工智能相结合

还记得本田为东京车展计划运动EV概念的令人兴奋的消息吗?就是这个。虽然它不是S2000的继任者,但我....
发表于 09-19 15:09 4次 阅读
电动汽车技术的性能与人工智能相结合

华为智慧屏相关照片曝光,搭载可升降摄像头

9月19日,华为将在德国慕尼黑进行新品发布,除了华为watch gt2、华为手环4等,备受关注的华为....
的头像 牵手一起梦 发表于 09-19 15:01 69次 阅读
华为智慧屏相关照片曝光,搭载可升降摄像头

深度学习怎样可以提高的汽车的感知能力

通过在车辆中实现多种先进的驾驶员辅助系统(ADAS),汽车行业对于完全自动驾驶的追求正在稳步推进。
发表于 09-19 14:46 4次 阅读
深度学习怎样可以提高的汽车的感知能力

智能时代下数据安全是个绕不开的话题

这些年,在人工智能等新技术催化下,信息泄密正在围绕“数据”展开,这些数据涉及各类事、物、人、企业、政....
发表于 09-19 14:33 8次 阅读
智能时代下数据安全是个绕不开的话题

国产嵌入式AI芯片的未来将会变成什么样

看着技术的快速发展,你是不是也幻想过未来生活的场景图?云计算、大数据、物联网和人工智能深度融合,落地....
发表于 09-19 11:55 17次 阅读
国产嵌入式AI芯片的未来将会变成什么样

创建新的数据库和更改SQL Server CE数据库中的数据操作教程免费下载

SQL Server CE 中的数据库是存储结构化数据的表集合。在可以存储数据库之前,必须创建数据库....
发表于 09-19 11:28 4次 阅读
创建新的数据库和更改SQL Server CE数据库中的数据操作教程免费下载

技术伦理问题开始从幕后走到台前,成为人工智能研究发展的重要议题

放眼当下,借助人工智能,企业赋予每个用户的偏好和行为以大量数据标签,摸透用户甚至超过用户对自己的了解....
的头像 倩倩 发表于 09-19 11:04 52次 阅读
技术伦理问题开始从幕后走到台前,成为人工智能研究发展的重要议题

2019第五届中国人工智能大会将于9月21日至22日在胶州方圆体育中心举办

本届大会还将举办中国人工智能博览会,博览会由企业展区与互动体验区两部分组成。企业展区将展示腾讯、阿里....
的头像 倩倩 发表于 09-19 10:42 84次 阅读
2019第五届中国人工智能大会将于9月21日至22日在胶州方圆体育中心举办

AI产业链加速金拱门不做汉堡改行人工智能?

智能计算时代有三大特征:暴力计算;计算无处不在;端边云协同计算。胡厚崑透露,华为认为未来十年是计算产....
发表于 09-19 09:44 25次 阅读
AI产业链加速金拱门不做汉堡改行人工智能?

lwip双网口该怎么设置?

百度一下LWIP双网口,找到了如下方法 创建一个netif块,硬件初始化时在mylwip_init()函数中多添加一个netif_add,并调用net...
发表于 09-19 01:02 16次 阅读
lwip双网口该怎么设置?

AI大时代下该如何防护我们的网络安全

当前,以大数据、人工智能等为代表的信息技术日新月异,与此同时,网络攻击、网络窃密、网络诈骗频频出现,....
发表于 09-18 17:30 57次 阅读
AI大时代下该如何防护我们的网络安全

华为推出又一重量级AI产品Atlas900,预测是全世界最快的AI平台

华为副董事长胡厚崑说,如此算力还可以广泛应用到科学研究与商业创新中,比如天文探索、气象预测、自动驾驶....
的头像 牵手一起梦 发表于 09-18 16:18 177次 阅读
华为推出又一重量级AI产品Atlas900,预测是全世界最快的AI平台

现阶段的人工智能是真正的人工智能吗

既然我们已经进入了人工智能革命(或者更确切地说是进化),那么看看人工智能的概念是如何被吸收的、为什么....
发表于 09-18 16:12 30次 阅读
现阶段的人工智能是真正的人工智能吗

事件:华为AI训练集群发布 搜狐撤回收购提议 通用五万员工罢工

华为推全球最快AI训练集群 在第四届华为全联接大会上,华为首次公布整体计算产业战略,同时发布全球最快....
的头像 电子发烧友网工程师 发表于 09-18 15:53 263次 阅读
事件:华为AI训练集群发布 搜狐撤回收购提议 通用五万员工罢工

AI养猪你听说过吗

猪肉市场供给紧张、需求加大,对互联网企业来说,也是一次机会,随着相关扶持政策的落地,AI养猪或许将迎....
发表于 09-18 15:26 23次 阅读
AI养猪你听说过吗

AI如何为环保事业做出贡献

物联网技术:各个环境数据采集器之间以及采集器和路由之间采用无线ZigBee 技术,可以自由组网,路由....
发表于 09-18 15:21 19次 阅读
AI如何为环保事业做出贡献

FPGA在AI领域处理效率中有着显著的优势

数据中心逻辑芯片是百亿美元市场,低延迟+高吞吐奠定FPGA核心优势。根据 Intel披露的数据,数据....
发表于 09-18 15:04 69次 阅读
FPGA在AI领域处理效率中有着显著的优势

AI芯片依靠什么来实现快速发展

人工智能兴起的背后关键因素之一是云计算能力的提升,而这主要是由云端 AI 芯片的增强和升级推动的。
发表于 09-18 14:59 218次 阅读
AI芯片依靠什么来实现快速发展

如何在引导区找不到代码?

嗨,我想让我的主要应用程序完全位于我的引导区域之外。例如引导区域当前占用0~0x2000,所以我希望我的主代码在0x2000之上启动。...
发表于 09-18 14:29 18次 阅读
如何在引导区找不到代码?

75亿物联网设备连接!IDC崔凯揭秘新零售加速落地的技术驱动力

IDC电信与物联网研究部高级经理崔凯认为,零售行业数字化转型的本质是“体验式零售”,而智能互联网通过....
的头像 章鹰 发表于 09-18 13:41 1160次 阅读
75亿物联网设备连接!IDC崔凯揭秘新零售加速落地的技术驱动力

请问现有的EasyLink能否完成星形网络组网行为?

1.现有的EasyLink能否完成星形网络组网行为? 2.我们设计的产品是主节点和从节点处于睡眠状态,每隔5分钟进行一次唤醒并将从节...
发表于 09-18 13:02 46次 阅读
请问现有的EasyLink能否完成星形网络组网行为?

人工智能对智能制造有什么影响

回顾历史,我们发现从18世纪60年代蒸汽机的发明引爆第一次工业革命开始,制造行业经历了以蒸汽机为代表....
发表于 09-18 10:15 50次 阅读
人工智能对智能制造有什么影响

边缘处理基本的技术能力是什么

恩智浦半导体宣布推出易于使用的泛化机器学习开发环境,用于构建具有高端功能的创新应用。
发表于 09-18 09:29 20次 阅读
边缘处理基本的技术能力是什么

智能医疗数据的保护以及未来的展望

医疗大数据是医疗AI的应用基础。医疗数据中几乎包含了公民的所有个人信息,除了姓名、年龄、身高、体重等....
发表于 09-18 09:28 120次 阅读
智能医疗数据的保护以及未来的展望

IoT为什么需要完整配套方案

IoT需要完整的配套方案,不只是芯片,而为了进行相关的投资会需要在未来的3~5年内牺牲利润。
发表于 09-18 09:22 58次 阅读
IoT为什么需要完整配套方案

AI布局正在处于怎样的局势

在连续创造惊人的数字之后,ARM的目光更为长远。
发表于 09-18 09:18 128次 阅读
AI布局正在处于怎样的局势

AI技术能够帮助临床医生的诊断和治疗

美国麻省理工学院的计算机科学家们,希望通过人工智能在医学方面的应用,进而替代一些人工投入过高的步骤,....
发表于 09-18 09:17 63次 阅读
AI技术能够帮助临床医生的诊断和治疗

AI芯片应用在5G时代有了怎样的新机遇

AI芯片的大规模应用场景主要还是在云端。在云端,互联网巨头已经成为了事实上的生态主导者,因为云计算本....
发表于 09-18 09:09 53次 阅读
AI芯片应用在5G时代有了怎样的新机遇

存储芯片以后在智能化的产业是怎样的地位

存储芯片是指嵌入式系统芯片的概念在存储行业的具体应用,无论是系统芯片还是存储芯片,都是通过在单一芯片....
发表于 09-18 08:51 18次 阅读
存储芯片以后在智能化的产业是怎样的地位

AI芯片的未来会不会成为泡沫产业

如今的人工智能正在大踏步地走进我们生活的各个领域,从智慧金融、智能家居到智能教育、智能医疗,人工智能....
发表于 09-18 08:48 20次 阅读
AI芯片的未来会不会成为泡沫产业

为什么uboot加地址后读的值不变?

我想测试一下韦老师的从0写的uboot,内存读写代码如下: int main(void) {         void (*th...
发表于 09-18 04:53 61次 阅读
为什么uboot加地址后读的值不变?

MathWorks推出Release 2019b,MATLAB 和 Simulink功能新增

MathWorks宣布推出了 Release 2019b,其中包含一系列的 MATLAB 和 Sim....
的头像 人间烟火123 发表于 09-17 17:10 482次 阅读
MathWorks推出Release 2019b,MATLAB 和 Simulink功能新增

AI具备哪一些行业价值

在人工智能(AI)高速发展的几年间,AI技术已取得了明显的跃进和快速的迭代,演进路线也呈现出丰富多样....
发表于 09-17 17:04 162次 阅读
AI具备哪一些行业价值

SiP封装在5G和IoT时代面临的挑战

近期,SiP封装产业链上的多家公司分享了面向5G、手机、loT和可穿戴设备等应用的SiP系统解决方案....
的头像 荷叶塘 发表于 09-17 15:59 1504次 阅读
SiP封装在5G和IoT时代面临的挑战

人工智能怎样为艺术带来新可能

作为人类科技王冠上的宝石,人工智能凝结了人类想象中最大胆的部分。
发表于 09-17 15:48 129次 阅读
人工智能怎样为艺术带来新可能

AI怎样为超声检查辅助

人工智能辅助作为超声检测的标配将是未来的一个发展方向。
发表于 09-17 15:45 66次 阅读
AI怎样为超声检查辅助

无人驾驶迎来了怎样的新机遇

随着人工智能、物联网、定位导航、通信技术等的加速发展,全球自动驾驶已经迈入新阶段。
发表于 09-17 14:42 147次 阅读
无人驾驶迎来了怎样的新机遇

未来我们要向AI求职吗

近年来,随着大数据、深度学习等技术的不断发展,人工智能不仅在计算机视觉、自然语言处理、安全监控、智能....
发表于 09-17 14:37 153次 阅读
未来我们要向AI求职吗

中国电信将全力推动5G+AI的发展

据悉,目前中国电信正积极推进5G试验验证,打造出满足用户体验需求的5G终端。基于对市场的深度调查,中....
发表于 09-17 09:46 165次 阅读
中国电信将全力推动5G+AI的发展

关于智能机器人的分类以及介绍

智能机器人是一种自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能....
发表于 09-17 09:46 278次 阅读
关于智能机器人的分类以及介绍

5G产业带动芯片高端检测需求 日美厂商首先受益

受到半导体产业需求衰退影响,半导体设备部分也面临需求减缓状况。不过在5G、AI等新兴芯片需求带动下,....
的头像 章鹰 发表于 09-17 08:13 1689次 阅读
5G产业带动芯片高端检测需求 日美厂商首先受益

有人能解释一下为什么下面的代码不起作用吗?

你好, 我肯定我在这里漏掉了什么东西。 有人能解释一下为什么下面的代码不起作用吗?当我用一秒钟的延迟替换睡眠部分时,它就...
发表于 09-17 06:09 22次 阅读
有人能解释一下为什么下面的代码不起作用吗?

为什么触摸屏的代码移植到STM32F103ZET6后没有反应?

我把原子大哥关于触摸屏的代码移植到STM32F103ZET6上,可是触摸没反应,PEN的那个端口没有被拉低,大概出了什么问题,...
发表于 09-17 04:35 8次 阅读
为什么触摸屏的代码移植到STM32F103ZET6后没有反应?

如何减少ucosii系统延时函数误差?

最近在学习ucosii,但是对于延时函数的精度遇到一些问题。比如如下一种情况 void task1(参数) {     代码段1; ...
发表于 09-16 20:58 30次 阅读
如何减少ucosii系统延时函数误差?

未来语音识别技术的发展趋势将会怎样

语音识别主要趋于远场化和融合化的方向发展,但在远场可靠性还有很多难点没有突破,比如多轮交互、多人噪杂....
发表于 09-16 16:02 64次 阅读
未来语音识别技术的发展趋势将会怎样

大数据和云存储技术将支撑人工智能在安防领域应用

平安城市、智能交通、雪亮工程等不断开展和深入过程中,以视频监控为核心代表的行业发展正朝着超高清、智能....
发表于 09-16 15:53 51次 阅读
大数据和云存储技术将支撑人工智能在安防领域应用

人工智能的发展少不了什么

人工智能作为革命性的新技术,没有人能准确预测技术的未来结果。
发表于 09-16 15:28 155次 阅读
人工智能的发展少不了什么

关于医疗电子行业的发展前景分析

2019年底,人工智能在医疗电子应用市场上的价值将超过17亿美元。从我国主要企业来看,我国的医疗电子....
发表于 09-16 15:22 181次 阅读
关于医疗电子行业的发展前景分析

人工智能和大数据将带动FPGA产业的高质量发展

智博会推动了新一轮科技革命和产业革命的新浪潮,智汇八方、博采众长,促进智能产业、智能制造、大数据智能....
发表于 09-16 14:58 56次 阅读
人工智能和大数据将带动FPGA产业的高质量发展

高云半导体发布全球首例基于国产FPGA的AI解决方案

中国广州,2019年9月16日 - 全球增长最快的可编程逻辑器件供应商—广东高云半导体科技股份有限公....
发表于 09-16 14:52 52次 阅读
高云半导体发布全球首例基于国产FPGA的AI解决方案

未来工控计算机的发展将迈向智能时代

工业互联网有“3+3”模型,其三个要素为:计算(智能处理)、通信(泛在传输)、控制(本体需求),构建....
发表于 09-16 14:25 174次 阅读
未来工控计算机的发展将迈向智能时代

调试模式下WDT复位不返回该怎么办?

当我运行95401(我修改了一点)代码示例在PSoC 4先锋工具包调试模式。我把断点放在第一条主线上。当设备接收重置时,它应该再...
发表于 09-16 11:02 58次 阅读
调试模式下WDT复位不返回该怎么办?

如何使用微芯片DSP和浮点库?

大家好,我有一个在PIC32MX系列中运行的姿态计算算法,声明的矢量和矩阵的格式是双重的,并且来自该算法的操作是矩阵运算,...
发表于 09-16 10:15 9次 阅读
如何使用微芯片DSP和浮点库?

如何将二进制数据导入自定义节?

嗨,所有,我试图导入二进制数据,从外部文件,到我的固件映像在一个已知的位置,在一个自定义部分/地区。我可以导入数据从我的外...
发表于 09-16 10:08 8次 阅读
如何将二进制数据导入自定义节?