点击“小詹学Python”,选择“星标”公众号

第一时间速享重磅干货

本文转自 机器之心,禁止二次转载

摘要:介绍一个优秀代码自动补全工具库。

近日,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代码,节省50%敲码时间相关推荐

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

    原文: https://blog.csdn.net/qq_4320... 摘要:介绍一个优秀代码自动补全工具库. 近日,Reddit 上的一篇帖子引起了网友的热议.帖子作者「mlvpj」称: 「我们使 ...

  2. python最新技术开锁工具_这个库厉害了,自动补全 Python 代码,节省 50% 敲码时间...

    摘要:介绍一个优秀代码自动补全工具库. 近日,Reddit 上的一篇帖子引起了网友的热议.帖子作者「mlvpj」称: 「我们使用深度学习完成了一个简单的项目,可以自动进行 Python 代码补全.」 ...

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

    近日,Reddit 上的一篇帖子引起了网友的热议.帖子作者「mlvpj」称: 「我们使用深度学习完成了一个简单的项目,可以自动进行 Python 代码补全.」 根据介绍,该项目基于 LSTM 模型,训 ...

  4. python自动补全库_叼炸天的库! 自动补全 Python 代码,能节省 60% 敲码时间

    近日,Reddit 上的一篇帖子引起了网友的热议.帖子作者「mlvpj」称: 「我们使用深度学习完成了一个简单的项目,可以自动进行 Python 代码补全.」 根据介绍,该项目基于 LSTM 模型,训 ...

  5. 【机器视觉学习笔记】python安装OpenCV并设置自动补全及代码提示

    目录 安装 测试 设置自动补全及代码提示 平台:Windows 10 20H2 Python 3.8.12 (default, Oct 12 2021, 03:01:40) [MSC v.1916 6 ...

  6. 终极大招~pycharm自动补全opencv代码提示功能

    你的pycharm还能自动补全opencv代码提示吗? 你可能通过修改cv2,进入__init__.py文件,一顿操作,还是不行. 你以为是工具问题,卸载重装? 还是opencv卸载重装好几次了 这次 ...

  7. vscode自动补全nodejs代码的方法

    vscode自动补全nodejs代码的方法 点击window+x出现窗口,点击命令提示符(管理员),打开dos窗口,在当前项目路径下输入如下命令(配置了淘宝镜像): cnpm install --sa ...

  8. dev c++代码自动补全_python3代码如何自动补全?

    不知道小伙伴们是不是在勤勤恳恳的一点点写代码,小编最近写代码非常轻松.虽然这样说出来会引起群愤,但不得不说真的很好用.其实就是一个补全代码的工具,在使用之前小编也抱有怀疑的态度,将信将疑.不过最后还是 ...

  9. jupyter notebook 代码自动补全、代码高亮

    一.安装依赖项 在开始中打开:开始 > Anaconda Prompt 1.  安装 nbextensions pip install jupyter_contrib_nbextensions ...

最新文章

  1. startos 5.1 如何 root 登陆
  2. HTML DOM 方法
  3. 必读 | 六月份不容错过的十大重磅好文,机器学习和数据科学的小伙伴拿走不谢 原创 2017-07-10 爱收藏的 AI科技大本营 作者 | Flavian Hautbois 翻译 | AI科技大
  4. 初二计算机辅导记录,(初中信息技术兴趣小组活动记录.doc
  5. 【网络安全员】需要了解的一项攻击技术-高隐匿、高持久化威胁
  6. C++内存模型和原子类型操作
  7. go发布一个公开的自定义仓库包
  8. vue 设置代理报错;occurred while trying to proxy request xxx
  9. MATLAB 贪婪周边无状态路由协议(GPSR)路由仿真
  10. 计算机难点知识,(必先看)计算机文化基础知识难点
  11. 新垣结衣AI换脸郭德纲 网友:换脸史上最惨的车祸现场
  12. addeventlistener不支持ajax_好程序员web前端学习路线分享了解AJAX是什么
  13. 把一些表单属性封装一个JSON
  14. 更改Oracle数据库的编码格式,解决导入时ORA-12899错误
  15. Vue.js学习笔记(一) - 起步
  16. oracle11g64位怎么用sql,Oracle11g64位下使用PLSQL
  17. Mybatis注解开发指北
  18. 目前结汇市场眼花缭乱,但那种才是适合做外贸的大佬们的一个选择呢?
  19. [历朝通俗演义-蔡东藩-前汉]第012回 戕县令刘邦发迹 杀郡守项梁举兵
  20. mysql server安装报错_安装VtigerCRM报错:MySQL Server should be configured with

热门文章

  1. Go的string/int/int64转化
  2. 车险赔付率分析报告_车险改革究竟是涨价还是降价了?9月19号后买会便宜吗?...
  3. 安装+wordpress+出现403+forbidden_教程篇 | WordPress网站搭建详细教程
  4. php获取当天的日期-年月日与星期几
  5. 运动会成绩管理java代码_基于jsp的运动会成绩管理-JavaEE实现运动会成绩管理 - java项目源码...
  6. dseo13b打开自动消失_抖音怎么自动生成字幕?动态字幕有哪几种?
  7. 搜索python代码的软件_用python编写一个高效搜索代码工具
  8. java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...
  9. html怎么用ui打开,HTML5教程 如何使用原生UI
  10. uniapp 页面渲染完成