DBRL icon indicating copy to clipboard operation
DBRL copied to clipboard

运行报错

Open EVAKKKK opened this issue 2 years ago • 10 comments

在运行run_pretrain_embeddings.py时报错Expected tensor for argument #1 'indices' to have scalar type Long; but got torch.cuda.IntTensor instead (while checking arguments for embedding)

EVAKKKK avatar Mar 14 '23 03:03 EVAKKKK

我不知道那里出现了错误,一直提醒这个地方有错

EVAKKKK avatar Mar 14 '23 04:03 EVAKKKK

看上去是数据类型的问题,你可以贴一下完整的报错信息,或者在这里打印 data, https://github.com/massquantity/DBRL/blob/master/dbrl/trainer/pretrain.py#L22 看是哪个数据变成了torch.cuda.IntTensor

massquantity avatar Mar 14 '23 14:03 massquantity

已经改好了,确实是数据集的问题,在embedding前转成int64就可以了,可以问一下几个变量的意思吗,多次出现了以feat命名的变量,比如feat_embed_size,self.total_feat = static_feat + dynamic_feat.等等,想问一下这是什么意思。

EVAKKKK avatar Mar 15 '23 06:03 EVAKKKK

feat 是特征,比如数据集里 age, brand 之类的

massquantity avatar Mar 15 '23 09:03 massquantity

@massquantity 我在研究DDPG.py这个文件的时候 发现这个前向传播的函数我有点不太理解 为什么要处norm 进行归一化吗?这个scores的计算为什么是这样的呢scores = torch.matmul(action, item_embeds.T),是对用户采取动作与embedding layer相乘进行一个处理吗? image

EVAKKKK avatar Mar 16 '23 12:03 EVAKKKK

@massquantity 我看原文的奖励的定义是 skip/click/order an item is 0/1/5 能问一下你的这些是什么意思吗 最后一个5是购买我知道 image

EVAKKKK avatar Mar 16 '23 12:03 EVAKKKK

推荐的流程是 action 向量和所有的 item 向量计算相似度,选择相似度最大的 K 个 item。将两个向量 norm 后再点乘就是计算 cosine 相似度,这个在推荐系统里比较常用。这个仓库里的是对论文的一个实现,又无意严格按照论文的所有设定。

massquantity avatar Mar 18 '23 03:03 massquantity

使用的数据是来自淘宝的,pv 是浏览,cart 是加入购物车,fav 是加入喜欢,buy 是购买。reward 是随意定的,RL 里的 reward 定义本身就是难点。

massquantity avatar Mar 18 '23 03:03 massquantity

使用的数据是来自淘宝的,pv 是浏览,cart 是加入购物车,fav 是加入喜欢,buy 是购买。reward 是随意定的,RL 里的 reward 定义本身就是难点。 我终于找到了能跑的服务器,运行ddpg之后,这个损失正常吗?看起来很奇怪 image

EVAKKKK avatar Mar 29 '23 03:03 EVAKKKK

@massquantity 我又重新运行了一遍但是这个损失还是非常大,NCDG的值又很小,请问你运行的结果也是这样吗,看起来数值很奇怪,像是哪里出了问题,如果你方便的话可以回复一下吗,非常感谢!

EVAKKKK avatar Mar 30 '23 12:03 EVAKKKK