专栏首页程序员的知识天地这个库厉害了,自动补全Python代码,节省50%敲码时间

这个库厉害了,自动补全Python代码,节省50%敲码时间

近日,Reddit 上的一篇帖子引起了网友的热议。帖子作者「mlvpj」称:

「我们使用深度学习完成了一个简单的项目,可以自动进行 Python 代码补全。」

根据介绍,该项目基于 LSTM 模型,训练后,负责对代码的缺失部分进行补全。评价模型的方法是判断节省了多少的按键信息——即模型给出长度为 L 的代码建议,如果和真实的代码匹配,则节省 L - 1 个键入操作。实验结果说明,大约可以节省 30%-50% 的****时间键入成本

作者在帖子中表示,他们接下来会尝试不同的架构,并提高推断的表现。而现在的模型推断很慢,不能实际使用。作者已在 GitHub 开源了项目代码:

链接地址: https://github.com/vpj/python_autocomplete

在项目开发中,优秀的代码自动补全工具可以提升工作效率。然而,近来的 IDE 基本都使用搜索方法进行补全,在一些场景下效果不佳。近日,有开源项目用深度学习模型进行代码补全,显示出非常有潜力的效果。

我们知道很多 IDE 提供自动补全功能,这款工具又有什么区别呢?

和 IDE 的自动补全有什么区别

该项目对 Python 代码的自动补全与传统 IDE(如 PyCharm)等不同。IDE 补全基于检索方法,需要从已有代码中进行搜索。

以 PyCharm 中的基本补全(Basic Completion)方法为例。基本补全可帮助补全可见区域的类、方法、关键词代码。使用时,PyCharm 会分析补全使用情况,并提供当前位置可能的选择。如果是对空间、参数或变量声明进行补全,则 PyCharm 会基于类别提供一系列可能的命名。

当出现已定义的类、函数、模块和变量时,基本补全就会启动。

此外,PyCharm 也提供智能补全等其他补全功能,但基本上都需要对已有文本进行搜索,根据位置和类型判断补全的方法。这些方法都没有配置机器学习模型。

Pycharm 的自动补全介绍:https://www.jetbrains.com/help/pycharm/auto-completing-code.html

网友评价

项目开源后,有些网友对作者提出了质疑:

「我们已经有很多很好用的自动补全工具了,比如 kite(一个可以在 IDE 上使用的插件),为什么还要费心搞个机器学习模型?」

在讨论中,有人提出,一些无良的自动补全工具会悄悄上传代码到他们的服务器中,(而自行训练的深度学习模型不存在这个问题)。

也有人提出,其实不一定要用 LSTM 模型,隐马尔科夫模型在处理序列数据上效果也很好。

此外,也有网友建议使用 CuDNN 加速 LSTM 的推断过程。这样能大大提升推断速度,集成到 IDE 中也就有了可能。

对于使用深度学习自动补全代码,你有什么想法呢?

大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 容器使用的 5 个技巧和 2 个误区

    在 Python 中,有四类最常见的内建容器类型: 列表(list)、 元组(tuple)、 字典(dict)、 集合(set)。通过单独或是组合使用它们,可以...

    一墨编程学习
  • 人工智能的黄金时代,你了解为什么要学习python吗?

    2017年3月5日“人工智能”正式写入2017政府工作报告,崭新的时代来了!Python凭借超高的开发效率与丰富的类库,加码无人驾驶、个人助理、金融、电商、医疗...

    一墨编程学习
  • Python生态系统的14年演变,它是如何登顶最热门语言!

    【导语】Python 里各种丰富的标准库、第三方库和模块成为其广受欢迎的原因之一。而 PyPI 就是大家想第三方库前先要安装的一个仓库。作为使用者,它可以帮我们...

    一墨编程学习
  • 这个库厉害了,自动补全Python代码,节省50%敲码时间

    根据介绍,该项目基于 LSTM 模型,训练后,负责对代码的缺失部分进行补全。评价模型的方法是判断节省了多少的按键信息——即模型给出长度为 L 的代码建议,如果和...

    用户2769421
  • AI帮你写Python,安装只需5步,还能任你调教 | 开源

    在机器学习的时代,AI智能补全代码早已不是梦想,各种IDE和插件都在努力帮助程序猿减少击键次数,延长键盘寿命(雾。

    量子位
  • linux下命令自动补全总结

    很多命令都会提供一个bash-complete的脚本,在执行该命令时,敲tab可以自动补全参数,会极大提高生产效率。

    菲宇
  • 用深度学习模型实现自动补全Python代码 (开源)

    在机器学习的时代,AI智能补全代码早已不是梦想,各种IDE和插件都在努力帮助程序猿减少击键次数,延长键盘寿命(雾。

    商业新知
  • 一起看看VIM著名补全插件YouCompleteMe的架构和实现

    YouCompleteMe是vim上最著名的插件之一,对于长期使用Linux和vim进行服务端开发的技术人员来说或多或少都有耳闻。

    tyriqchen
  • unity3d compile error

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    sofu456
  • python ipaddress模块使用

    py3study

扫码关注云+社区

领取腾讯云代金券