Node2Vec图嵌入调用fit时报size参数相关TypeError问题咨询
Node2Vec
TypeError: __init__() got an unexpected keyword argument 'size' 报错解决 报错原因
该报错由Node2Vec和其依赖的Gensim库版本不兼容导致:
Node2Vec的fit()方法底层依赖Gensim的Word2Vec实现嵌入训练,Gensim 4.0及以上版本将原本控制嵌入维度的参数size重命名为vector_size。如果你使用的是未适配Gensim 4.x的旧版Node2Vec库,其内部调用Word2Vec时仍然会传递size参数,就会触发该参数不匹配报错,即使你调用fit()时没有手动传入size参数也会出现问题。
修复方案
- 方案1:降级Gensim到3.x兼容版本
执行以下命令安装适配旧版Node2Vec的Gensim版本即可:pip install gensim==3.8.3 - 方案2:适配Gensim 4.x版本
可直接升级到已适配Gensim 4.x的新版Node2Vec库;也可手动修改Node2Vec库源码,找到其内部调用Word2Vec初始化的代码行,将传入的size参数替换为vector_size,无需修改你的业务代码。
内容的提问来源于stack exchange,提问作者wamika
相关产品推荐
相关产品推荐

