实验代码:
从github直接clone的代码,对数据获取部分的代码进行了修改,删除了wget下载的过程,保留unzip解压的阶段
实验代码的大致流程
解压缩
构建xfg
构建词汇表vocabulary
训练embedding
评估embedding
第一次运行出现的问题
2020年12月25日晚上8点对polybenchGpu.zip这个最小的样本进行了训练,解压缩过程,构建xfg过程,构建vocabulary过程,训练过程都很顺利,耗时大概10分钟左右,时间最长的是最后评估embedding过程,这个过程运行了大概40分钟之后,程序出现数组越界错误,程序终止,此时时间大概是晚上9点,我对代码的执行状况进行了保存,把整个项目压缩为zip文件。
我对这个数组越界的粗略分析,认为导致出错的原因是只是用了一个样本的缘故,因此,之后开始着手训练所有的样本。
经过了对解压缩过程代码的修改,程序能够自动对所有压缩包进行解压缩了,然后开始第二次运行。在main.py中,对每个节点我都print当前时间,便于计算每个阶段的耗时
第二次、第三次运行出现的问题
2020年12月25日晚上10点开始第一次对所有的11个样本进行训练,
这次执行出错了,由于是在我自己的台式机上,i5-4核+8G实在是不行,第二天中午我到实验室的时候发现程序挂了。最可恶的是我自己手残把项目关了,导致一点调试信息也没有拿到。
2020年12月26日下午两点,我在实验室服务器上(30+核心的处理器,&&, 16G内存),开始第二次对所有的11个样本进行训练。由于我在构建xfg、构建词汇表vocabulary、训练embedding、评估embedding
,分别设置了断点。执行到12月27日上午,我来实验室的时候,程序出错了,而且出错的地方是构建XFGs的地方,也就是还没开始训练,只是在预处理阶段就错了。
第四次运行出现的问题
2020年12月30日,我选取了最小的三个dataset进行实验,这次实验依然是调试模式,设置的断点与前两次实验相同。由于dataset变小了,这次实验的前三个阶段都很顺利,成功的执行到了对训练好的embedding进行evaluate的阶段,但是我没有建立相关的task,导致运行失败。不过这次的实验有价值,我也把实验日志拷贝出来,可以分析一波了。