- 博客(18)
- 收藏
- 关注
原创 LambdaNet----图推断变量类型----本地复现记录
环境:sbt: 1.3.13 (dockerfile中提到)scala: 2.12.10 (build.sbt, dockerfile中提到)jdk: jdk11(特别注意,docker文件中标明,刚开始使用jdk1.8,javadriver文件一直报错)1. 导入项目到idea中(选择scala项目),选择合适的版本安装2. 可以在projectStructure中检查jdk环境及依赖信息在setting---sbt中检查sbt配置(sbt1.3.13对应jdk1...
2022-05-29 11:01:13
244
原创 python中pd.readcsv和csv.reader的区别
今天想在原始csv文件中先添加一个空列标题seq,然后对于其中的每一行原始数据添加合适的seq内容 (在自己的数据中寻找合适的内容添加到对应的seq中) ,折腾了好久,就是因为对于readcsv和csv.reader不熟悉以及混用,导致总是得不到想要的结果,所以这里总结一下#打开文件并读取with open('test.csv',encoding = 'utf-8') as text: #通过reader读取 row = csv.reader(text, delimiter = ',
2022-05-18 11:24:42
819
原创 NL2Type--推断函数类型----linux,Ubuntu复现记录
1. 环境:Ubuntu 16.04.7 LTS, python2.7安装依赖pip2 install --upgrade -r requirements.txt sudo apt-get install -y nodejsnpm install -g jsdoc python2.7中各种包版本:2. 将下载好的模型放在models/model.h5下,下载论文中用到的数据并解压https://drive.google.com/file/d/1JUjvliIV76..
2022-05-09 11:15:01
301
原创 lambdanet:图结构推断变量类型---docker复现记录
使用docker1. 安装了docker后,输入命令行docker build -t lambdanet:v1 . && docker run --name lambdanet --memory 14g -t -i lambdanet:v1创建lambdanet:v1容器以后启动对应容器执行docker run -it lambdanet:v1 /bin/bash成功进入容器2. 下载好模型后,将模型放在根目录下https://drive.goog
2022-05-08 16:41:41
500
原创 nL2Type(为function推断类型)windows---复现记录
环境为python 2.7,对应pip版本9.0.1下载训练和测试文件https://drive.google.com/file/d/1tk-h3O-nTQ3X-cPZ5D7aaaLTUtLgVvwt/view安装依赖sudo pip2 install --upgrade -r requirements.txt
2022-04-29 13:57:01
790
原创 DeepTyper复现记录--Linux系统
虚拟机中应该是无法安装cntk所需要的cuda和cudnn驱动(搜到的是可以在双系统中安装驱动,这部分不是很了解),做到最后几步才发现,又换到windows下进行了配置:Win10, cntk=2.0, python=3.6.5(必须在3.7以下,否则cntk不支持)1. 安装依赖项目导入后,安装依赖typescript(前提安装了nodejs), ---npm install -g typescript, tsc -v检查是否安装成功安装numpy, pygments等依赖2...
2022-04-11 21:52:45
1672
原创 linux中Ubuntu,npm install -g jsdoc报错code EMISSINGARG或code ENOTFOUND
npm install curlcurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -sudo apt-get install -y nodejs
2022-04-06 10:11:07
256
原创 windows + python2.7 安装tensorflow
tensorflow目前已经不能在python2.7中安装了,只支持3.6和3.7找了很久的解决方法,才在windows中的python2.7中安装了tensorflowhttps://github.com/fo40225/tensorflow-windows-wheel下载whl文件后pip install即可提示安装过程中可能会出现很多包下载不了,找不到的错误在几个国内的镜像地址中找对应版本的whl文件,下载后安装whl文件,安装完whl文件后再重新安装tensorflow
2022-01-13 16:51:33
6229
2
原创 LAMBDANET: PROBABILISTIC TYPE INFERENCE USING GRAPH NEURAL NETWORKS 使用图神经网络进行概率类型推断
这篇文章提出了对于TypeScript的基于图神经网络的概率类型推断。首先使用了轻量的源码分析器生成一种程序抽象---类型依赖图,把类型变量和逻辑变量以及名字和使用信息联系起来。给定这种程序抽象图,使用一个图神经网络来传播相关类型变量之间的信息,并最终进行类型预测。我们的模型可以预测基本类型,像number和string,以及在训练中没有遇到的用户自定义类型。INTRODUCTION之前也有工作利用机器学习对TypeScript进行类型推断,但都有缺点:首先,推断仅限于训练期间观察到的有限类型的字典
2021-12-22 10:51:26
710
原创 LEARNING TO REPRESENT PROGRAMS WITH HETEROGENEOUS GRAPHS 学会用异构图表示程序(从AST中构建异构图)
大多数已有的研究是以抽象语法树来表示源码信息,还有一些研究是向AST中添加额外的边把源码转换成图的形式,然后利用神经网络学习程序图的表示。尽管这些工作提供了额外的控制或数据流信息向AST发送任务,但他们忽略了AST本身结构信息的重要方面:节点和边的不同类型。为了解决节点和边类型的信息,考虑使用异构图学习源码,提出一个新的构建公式,从带有额外节点和边的类型信息的AST中建立异构图。使用程序语言的ASDL语法定义程序图的节点和边类型,然后使用异构图神经网络训练这些图。在两项任务上评估我们的方法:代码注释生成
2021-12-21 17:35:03
2109
原创 A Toolkit for Generating Code Knowledge Graphs生成代码知识图谱的工具
事实证明,知识图谱在多种支持语义搜索和自然语言理解的应用程序方面非常有用。本文提出GraphGen4Code,一种工具集构建代码的知识图谱,支持程序搜索,代码理解,bug检测和代码自动化等。GraphGen4Code获取图中代表类、函数和方法的关键节点的代码语义,边表示function使用情况(function调用数据流)和关于函数的文档(代码文档,使用文档或StackFlow之类的论坛的讨论)。我们的工具包使用RDF中的命名图为每个程序构建模型,或者可以将图作为JSON格式输出。Introductio
2021-12-21 10:56:46
3502
原创 TypeWriter: Neural Type Prediction with Search-based Validation基于搜索的神经网络预测器
ABSTRACT维护使用动态类型语言(JavaScript,Python等)写的大型数据库是非常有挑战性的。简单数据兼容性错误激增,缺乏IDE支持和API 难理解。最近的一些工作尝试用静态分析或概率类型推断解决这些问题。不幸的是,对于动态语言的静态类型推断是非常有限的,概率方法也不够精确。这篇论文提出了TypeWriter,把概率预测和基于搜索的类型预测相结合。TypeWriter预测器从包含部分已标注类型的代码库里进行function返回值和参数类型的推断,结合了自然语言属性和编程语言级的信息。为了
2021-12-20 11:38:21
747
原创 PYInfer: Deep Learning Semantic Type Inference for Python Variables Python类型推断
Abstract在本文中,提出了端到端的PYInfer,基于深度学习的类型推断工具,可自动生成Python变量的类型注释。推断变量类型时上下文代码语义非常重要。对于每一个变量的使用,在它的上下文范围内收集一些tokens,然后设计神经网络预测变量类型。由于很难去收集高质量的人工标定的数据集,采用已有的静态分析工具对源码中的变量生产ground truth.将类型推断作为一个分类问题,PyInfer能处理用户自定义类型以及为每个变量推断类型概率。Introducti...
2021-12-18 16:05:59
1508
转载 Vue中变量赋值后,修改变量,赋值数据与被赋值数据同步改变
在vue中,变量赋值,修改变量会导致原始数据也同步发生改变let a = this.file, 修改a时,this.file也改变了原因:这是一个引用传递而不是值传递解决:把this.file转换为字符串再转换为对象后赋值let a = JSON.parse(JSON.stringify(this.file));...
2021-11-22 10:33:42
3634
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人