栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

lambdanet:图结构推断变量类型---复现记录

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

lambdanet:图结构推断变量类型---复现记录

使用docker

1. 安装了docker后,输入命令行

docker build -t lambdanet:v1 . && docker run --name lambdanet --memory 14g -t -i lambdanet:v1

创建lambdanet:v1容器

以后启动对应容器执行

docker start lambdanet:v1

docker attach lambdanet:v1

成功进入容器

2. 下载好模型后,将模型放在根目录下

https://drive.google.com/uc?id=13guFN8sDxPCqK_iWvgn3_4uQah5HlH34&export=download

3.生成交互式结果,执行

sbt "runMain lambdanet.TypeInferenceService"

命令执行成功

接下来需要在下面输入分析的项目目录:默认为data/ts-algorithoms

 执行成功后 

会为每个具体文件生成(source code position, predicted type)对

文件内容的具体含义为为某个位置的变量或函数进行推断的Top5预测

=== File: index.ts ===表示某个分析的文件

(2,14)-(2,18): [1](33.65%) Array, [2](10.08%) Object, [3](3.66%) Function, [4](3.66%) String, [5](3.12%) HTMLElement  表示(2,14)-(2,18)这个位置的元素,前5个预测类型为[1]...[5]

对应到文件内容为

 4. 若想生成最终的html文件,包含精确度的计算等

4-1)下载parsedRepos文件夹,确保它存在容器内部的data文件夹下

4-2)默认runTrainModel.scala中的配置路径或自行修改,默认时执行

sbt runTrained

报错:

找不到/usr/src/lambdanet/data/parsedRepos/meta

我对docker还不是特别熟悉,这里遇到的问题是下载好的文件夹解压后放入项目目录下,但是docker容器中的data目录检测不到该文件夹的存在,是路径问题

于是把本地的解压好的文件夹复制到了对应的容器里

docker cp  本地完整文件夹路径  容器长id:容器中需要存放该文件夹的完整路径

docker cp /data2/mxy/Code/LambdaNet-ICLR20/data/parsedRepos c06090a65af791f024ef15d859d812b07e91aaec1daea33f0336d4d32fda0fb0:/usr/src/lambdanet/data

复制前

复制后

 再次执行sbt runTrained

 输出最终的准确率

最终生成的ts-algorithms.html文档存放在docker容器中的data/ts-algorithms目录下,本地看不到,容器中可通过ls命令看到有一个predictions文件夹,其中就存放着最终的html文件

 若想在本地查看,可以把文件复制出来

docker cp 容器id:需要复制的文件在容器中的路径  本地保存路径

docker cp c06090a65af791f024ef15d859d812b07e91aaec1daea33f0336d4d32fda0fb0:/usr/src/lambdanet/data/ts-algorithms/predictions/ts-algorithms.html /data2/mxy/Code/LambdaNet-ICLR20/predictions

成功后本地路径

文件内容

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/868014.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号