复现KGAT: Knowledge Graph Attention Network for Recommendation(四)

啊代码,是代码,我要写KGAT的代码了。
今天听了我们专业大佬讲竞赛的事,大佬真的是太牛了。吓得我赶紧把晚上学英语的时间拿出来写程序。我还挺爱学这个推荐系统的,无奈其他不得不做的事情太多了。
还是老想法,先跑一下看看效果,再自己写。听说云服务器在我睡觉断网的情况下还可以跑模型?是真的嘛?什么都不懂的我打算试试,maybe。
论文在github上的源码地址为https://github.com/xiangwang1223/knowledge_graph_attention_network


一、配置环境

1.conda创建KGAT的环境

conda create -n KGAT

在KGAT中按照说明文档安装以下库:

conda install tensorflow==1.12.0
conda install numpy==1.15.4
conda install scipy==1.1.0
conda install sklearn==0.20.0

还有,下载tensorflow的时候numpy、scipy会跟着一起下,为了不给自己找麻烦,我把这些一起下载的版本高的库都卸掉,下载说明文件里面的指定版本。
conda使用如下命令卸载库:

conda remove <package>

非常好,就是会出现问题,问题如下:
To search for alternate channels that may provide the conda package you’re
looking for, navigate to https://anaconda.org
and use the search bar at the top of the page.

也不是什么大问题,提示要到给定的channel里面下载这个包。
很好,指定的channel也不行,一顿乱试
oh mygod,我还没有设置解释器版本。。。
好吧,下载python=3.6.5

conda install python=3.6.5
再看一下自己有啥库
conda list
非常好,之前下的都没了,惊喜的是有scipy!而且版本就是1.1.0!还有numpy!版本正正好好!

下tensorflow
下sklearn,还是之前的问题。。。
改用pip
整事?又出问题

就是网不好,换个源

pip install sklearn -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

好了,

2.用pycharm结合KGAT打开源码

上面的KGAT虚拟环境搭好了,用pycharm打开项目跑一跑试一下吧。手动笑脸。
在pycharm中使用指定的环境,参考我NCF的第一篇文章,
https://blog.csdn.net/weixin_45665465/article/details/115309197

万事俱备,跑代码喽。。。

问题1
又忘截图了。就是一堆错,有一个是提醒我kg_final.txt这个文件找不到的。我去找了一下,他在压缩文件夹里,解压缩拿出来就好了。

问题2

E:\推荐\KGAT复现\knowledge_graph_attention_network-master\knowledge_graph_attention_network-master\Model\utility\loader_kgat.py:87: RuntimeWarning: divide by zero encountered in powerd_inv = np.power(rowsum, -1).flatten()generate si-normalized adjacency matrix.reordering indices...reorganize all kg data done.sort meta-data done.
E:\推荐\KGAT复现\knowledge_graph_attention_network-master\knowledge_graph_attention_network-master\Model\utility\loader_kgat.py:171: RuntimeWarning: overflow encountered in int_scalarsassert sum(new_h_list) == sum(all_h_list)
E:\推荐\KGAT复现\knowledge_graph_attention_network-master\knowledge_graph_attention_network-master\Model\utility\loader_kgat.py:172: RuntimeWarning: overflow encountered in int_scalarsassert sum(new_t_list) == sum(all_t_list)sort all data done.

总说除了0除了0。。。去看看到底哪错了吧,好家伙,去看代码,看不懂。。。
知道接下来该做什么了,看代码!是的,看代码!
哈哈哈哈哈哈吼吼吼吼吼。。。。

4.20
我服了,我一直在纠结除以0的那个错误,结果,好家伙,那根本就不是个错误,只是个warning!warning!!!而且明明程序还能继续往下运行啊,我是瞎了吗???

解释一下为什么会有这个warning:
主要是在loader_kgat.py对adj这个稀疏矩阵进行处理的时候报的warning,是因为这个稀疏矩阵只有一部分有数据(有数据的行为n_users,列为n_items,但是矩阵的大小是(n_all,n_all),n_all=n_users+n_entities)。出现问题的代码是这句:

是这个第一行的代码,因为有的行压根没有数据所以会有除以0的问题存在。但是!关键是!人家考虑到这种情况了啊,所以第二句话不就对这句话做出处理了吗,把溢出的数据都变为0了啊!手动微笑。。。
现在的问题是,程序卡着不动了,我也不知道是还在没在运行。。。尴尬

就这without pretraining每次都卡在这。。。所以我要等等看吗?

总结

4.15就写完了,不知道为什么存在草稿箱里一直没发。4.15是周四,也就是说我周五周六周日都没有看代码。嗯,正常,毕竟我也没有把时间花在睡大觉打游戏上。就是事情太多了。

复现KGAT: Knowledge Graph Attention Network for Recommendation(四)相关推荐

  1. 【KGAT】Knowledge Graph Attention Network for Recommendation

    note KGAT结合KG和GAT,在知识图谱三元组基础上,利用GAT进行消息传递,聚合出物品向量后与用户向量进行计算得到预测值.其实不结合KG,何向南团队之前也直接使用GNN做了NGCF和Light ...

  2. KGAT 2019(KDD)Knowledge Graph Attention Network for Recommendation

    提出背景 基于CF的方法无法利用用户和物品的辅助信息,像用户简介,物品属性,以及上下文环境,在用户和无匹交互较少的情况下表现较差. FM,NFM,Wide&Deep等模型将用户和物品表示为向量 ...

  3. 读论文《DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation》

    0.Summary: Title: DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation Co ...

  4. MGAT: Multimodal Graph Attention Network for Recommendation

    模型总览如下: 图1:多模态图注意力网络 背景:本论文是对MMGCN(Wei et al., 2019)的改进.MMGCN简单地在并行交互图上使用GNN,平等地对待从所有邻居传播的信息,无法自适应地捕 ...

  5. 2020-CIKM-DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation

  6. 知识图谱论文阅读(十三)【2020 arXiv】Attentive Knowledge Graph Embedding for Personalized Recommendation

    题目: Attentive Knowledge Graph Embedding for Personalized Recommendation 论文链接: 代码链接: 知识图谱特征学习在推荐系统中的应 ...

  7. RKGE Recurrent Knowledge Graph Embedding for Effective Recommendation 论文

    Paper-RKGE [ Recurrent Knowledge Graph Embedding for Effective Recommendation ] Abstract 关于KG应用于推荐,现 ...

  8. DeepLearning | 图注意力网络Graph Attention Network(GAT)论文、模型、代码解析

    本篇博客是对论文 Velikovi, Petar, Cucurull, Guillem, Casanova, Arantxa,et al. Graph Attention Networks, 2018 ...

  9. 图注意力网络(Graph Attention Network, GAT) 模型解读与代码实现(tensorflow2.0)

    前面的文章,我们讲解了图神经网络三剑客GCN.GraphSAGE.GAT中的两个: 图卷积神经网络(GCN)理解与tensorflow2.0代码实现 GraphSAGE 模型解读与tensorflow ...

最新文章

  1. db2dual_DB2常用SQL的写法(持续更新中...)
  2. matlab simulink互感,Simulink互感模块用set_param函数不能正确赋值
  3. 计算机刷帖知识点,09计算机408分(沙滩帖)
  4. js serialize php 解,[转]JavaScript 版本的 PHP serialize/unserialize 完整实现
  5. 纽曼皮尔逊准则Matlab实现,纽曼-皮尔逊准则,Neyman Pearson Criterion,在线英语词典,英文翻译,专业英语...
  6. centos6安装mysql并远程连接_MySQL5.7数据库安装与远程连接
  7. java开发 网关_SpringCloud系列之网关(Gateway)应用篇
  8. AngularJS资源整理收集
  9. XNA中的中文输入(一)
  10. C++中const与指针、引用的分析(转自china_unix GP-King)
  11. [HTML5]块和内联元素的嵌套
  12. 北京市海淀区卫星地图离线包下载
  13. 微信小程序背景图片 模拟器正常显示 真机无法显示
  14. jquery左侧图片与右侧图片以及放大镜和图片的放大的图片和产品的隐藏的效果
  15. opencv-python对大视频切割成小视频
  16. mysql where in()
  17. k8s节点NotReady状态
  18. JDBC,JDBC连接池和JNDI
  19. Tableau CA考试lod详细级别专题解析
  20. Android中MaterialSearchView(搜索框)的简单实用

热门文章

  1. Hadoop 2.0x:HDFS写入数据宏观和微观流程
  2. HTML--特殊符号
  3. 【Idea设置编码格式——默认是GBK,可手动设置为UTF-8】
  4. 行业深度报告--短期业绩压力加速价值壁垒
  5. 使用GPS获取定位信息
  6. 关闭当前(Active)视图和关闭所有视图
  7. 企业级闪存盘的结构和特征
  8. 【TCP/IP】IP分片
  9. NYOJ Binary String Matching的stl解法 酒馆浪人的博客
  10. JAVA逻辑运算符练习