2024/3/11
学习内容:
GNN-ReGVD模型代码理解,run.py文件从141行理解到307行。
2024/3/12
学习时长:下午+晚上
学习内容:
GNN-ReGVD模型代码理解:
- run.py文件从313行理解到359行;
- model.py文件从1行理解到202行。
2024/3/13
学习时长:上午+下午+晚上
学习内容:
GNN-ReGVD模型代码理解:
- model.py文件从204行理解到223行,该文件理解完毕,这份文件主要包含:
- 几个模型的整合和整体框架的实现
- GNNReGVD(将ReGGNN和ReGCN整合到一个模型里面,根据传入的参数决定使用哪个模型)
- DevignModel(对modelGNN_updates.py文件的GGGNN进行整合后实现)
- PredictionClassification(GNNReGVD在使用了ReGGNN或ReGCN后需要的全连接层,将特征维度缩放到预测类别上,得出预测结果)
- 貌似有一个通用的简单模型Model(并没有被项目调用过)
- 几个模型的整合和整体框架的实现
- modelGNN_updates.py文件全部理解完毕,这份文件主要包含:
- 几个模型内部关键层的具体实现
- ReGGNN(论文作者自己设计的模型,包含三种实现整张图一个表示的混合方法)
- ReGCN(论文作者自己设计的模型,包含三种实现整张图一个表示的混合方法)
- GGGNN(Devign模型的简单实现)
- 单个GCN layer(ReGCN用到了)
- 两种构建图的滑动窗口方法
- unique token_focused
- index_focused(index是指token再原本序列中的位置索引)
- 几个模型内部关键层的具体实现
学习困惑:
- GGNN中重置门和更新门到底是做什么的,为什么这样设计,公式如何理解?
2024/3/14
学习时长:上午
学习内容:
GNN-ReGVD模型代码理解:
- run.py文件挑重点看
- main函数结构梳理:
- 综合好模型需要的参数args(也有从命令行获取的参数)
- 处理一些是否分布式的问题
- 找到并设置好所要用的预训练模型的配置文件、分词器和模型
- 设置好我们自己设计要用的模型
- 开始训练(训练数据的处理和tokenization,后训练,训练的过程有一些阶段也会进行评估--评估貌似是用验证集数据进行验证)
- 训练完成后进行最终的评估
- 再进行最终的测试
- 训练相关代码集成
- 验证评估相关代码集成
- 测试相关代码集成
- 定义了一个函数的信息类
- 定义了一整份数据集文件处理的类
- main函数结构梳理:
2024/3/15
学习时长:上午+下午+晚上
学习内容:
1. 看导师推荐的论文
VQGraph: Rethinking Graph Representation Space for Bridging GNNs and MLPshttps://openreview.net/forum?id=h6Tz85BqRI看到第五页的时候实在看不下去了,太难懂了,讲什么知识蒸馏(KL)和变分自编码器,人要学会放弃,这篇文章我不看了。
2. 看论文
2024/3/16
学习时长:上午+下午+晚上
学习内容:
1. 继续看论文
2024/3/17
学习时长:上午+下午+晚上
学习内容: