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

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

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

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

链接地址:

加python学习qq群:775690737 送python零基础入门学习资料+99个源码

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

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

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

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

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

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

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

Pycharm 的自动补全介绍:

加python学习qq群:775690737 送python零基础入门学习资料+99个源码

网友评价

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

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

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

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

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

..

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

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

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

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

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

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

    点击"小詹学Python",选择"星标"公众号 第一时间速享重磅干货 本文转自 机器之心,禁止二次转载 摘要:介绍一个优秀代码自动补全工具库. 近日,Reddi ...

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

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

  5. python壁纸超清全面屏_这大概是你见过最全面的 Python 重点了

    https://segmentfault.com/a/1190000018737045 由于总结了太多的东西,所以篇幅有点长,这也是我'缝缝补补'总结了好久的东西. Py2 VS Py3print成为 ...

  6. python壁纸超清全面屏_这一定是你见过最全面的python重点

    由于总结了太多的东西,所以篇幅有点长,这也是我"缝缝补补"总结了好久的东西. Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认st ...

  7. python数据展示库_收藏!盘点很实用的数据科学Python库

    数据科学是一门研究数据并从中挖掘信息的学科.它不要求自创或学习新的算法,只需要知道怎么样研究数据并解决问题.这一过程的关键点之一就在于使用合适的库.本文概述了数据科学中常用的.并且有一定重要性的库.在 ...

  8. python orm库_周边生态贡献者+1,一个TDengine的Python ORM库—crown

    本文介绍了一个用于操作TDengine的 Python ORM库.本文的预期读者是,需要使用Python语言操作TDengine数据库的开发人员. 什么是ORM? ORM就是对象关系映射(Object ...

  9. python基础教程多少页_看完这篇文章,你的Python基础就差不多了(附200页《Python400集》)...

    说干就干.经过将一个多月的素材整理.编写.打磨,在上周末终于完成了. 写完它的时候,我很兴奋,因为它将是第一本系统介绍 Python技巧使用的中文教程. 它不仅适用于一个刚入坑 Python ,还未接 ...

最新文章

  1. python opencv模板匹配多目标_基于opencv的多目标模板匹配
  2. linux平台驱动运行空间,UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍...
  3. 做报表时用到的一个存储过程
  4. Android工程师转型Java后端开发之路,自己选的路,跪着也要走下去!
  5. quartus管脚分配后需要保存吗_电脑磁盘显示未分配怎么办?磁盘数据如何恢复?...
  6. android 字体像素转换工具类_android px,dp,sp大小转换工具
  7. Batis-iBatis基本操作(增删改查)
  8. css 历史及css3 新特性
  9. Java中删除文件或文件夹的几种方法
  10. cass生成曲线要素_CASS菜鸟入门指南-道路断面
  11. 安全基础-防火墙四种登录方式 SSH Telnet SSH
  12. SSH框架java写接口_SSH框架的搭建+JPA接口
  13. 线段覆盖 java,南邮 OJ 1407 线段覆盖
  14. Arturia Sound Explorers Collection Belledonne现已上市
  15. ssh和telnet客户软件ZOC如何设置UTF-8
  16. Pose for Everything: Towards Category-Agnostic Pose Estimation 阅读笔记
  17. 序列的算法(一·a)马尔可夫模型
  18. centos7 SFTP
  19. Python实现孤立森林(IForest)+SVR的组合预测模型
  20. SQL超级详细的使用教程

热门文章

  1. 全新视角:用变分推断统一理解生成模型(VAE、GAN、AAE、ALI)
  2. Spark Streaming 执行流程
  3. 关于一个tomcat里面放2个项目启动报listener错误
  4. 编译 glibc-2.14 时出现的一个LD_LIBRARY_PATH不路径bug
  5. Nginx的rewrite应用
  6. 开启本地MySql数据库远程连接
  7. leetcode 【 Search Insert Position 】python 实现
  8. 【翻译】Programming Ruby——数组,哈希表和控制结构
  9. 程序员四大忌 你该如何避免呢?
  10. 什么是ATM(异步传输模式)?—Vecloud微云