pmixer / TiSASRec.pytorch

https://github.com/JiachengLi1995/TiSASRec in PyTorch
84 stars 15 forks source link

请教一下,关于代码在linux系统下运行出现failed loading state_dicts这个错误 #6

Open ParkerChan opened 1 year ago

ParkerChan commented 1 year ago

作者您好,我在ubuntu18.04环境下运行您的代码出现了failed loading state_dicts, pls check file path: ml-1m_default/TiSASRec.epoch=601.lr=0.001.layer=2.head=1.hidden=50.maxlen=200.pth这个错误,我是根据您给出的readme这个文件中的指令‘python main.py --dataset=ml-1m --train_dir=default --dropout_rate=0.2 --device=cpu --state_dict_path='ml-1m_default/TiSASRec.epoch=601.lr=0.001.layer=2.head=1.hidden=50.maxlen=200.pth' --inference_only=true --maxlen=200’直接运行的,只修改了cuda为cpu,就报了这个错误,pytorch版本是1.10.2,不知道哪里存在问题,还望指点一二,感谢

pmixer commented 1 year ago

您好,建议在这行后面加个 import pdb; pdb.set_trace() 让程序停一下方便查找 load 失败原因

https://github.com/pmixer/TiSASRec.pytorch/blob/5ab23975fe695cdba1fbc7b466710652b9fac9b1/main.py#L70

最简化的测试是直接 torch.load("权重文件路径") 看能不能加载权重,因具体环境差异,失败可能原因较多,比如路径输错,python 版本不一致,pytorch 版本不一致等等,得具体问题具体查,停到出问题那一行换集中方法试试是排查错误最直接的途径。

ParkerChan commented 1 year ago

您好,建议在这行后面加个 import pdb; pdb.set_trace() 让程序停一下方便查找 load 失败原因

https://github.com/pmixer/TiSASRec.pytorch/blob/5ab23975fe695cdba1fbc7b466710652b9fac9b1/main.py#L70

最简化的测试是直接 torch.load("权重文件路径") 看能不能加载权重,因具体环境差异,失败可能原因较多,比如路径输错,python 版本不一致,pytorch 版本不一致等等,得具体问题具体查,停到出问题那一行换集中方法试试是排查错误最直接的途径。

感谢您的耐心回复,我自己debug后发现torch.load无法实现权重文件的加载,我将文件路径改为绝对路径后仍无法解决问题

pmixer commented 1 year ago

我刚随机找了一个环境,git clone 后

weights = torch.load('TiSASRec.epoch=601.lr=0.001.layer=2.head=1.hidden=50.maxlen=200.pth')

可以正常执行,余下的因素硬件问题、操作系统问题、Python 版本问题、PyTorch 版本问题都有可能。

还有更小概率是 weights 文件因国内网络问题等原因损坏了,md5sum 值是 77cf0c8de63254b5bda5a64e5888a0a5,您那边也可以查看下是不是一致:

md5sum TiSASRec.epoch\=601.lr\=0.001.layer\=2.head\=1.hidden\=50.maxlen\=200.pth

以上是我能给到的帮助信息。

ParkerChan commented 1 year ago

我刚随机找了一个环境,git clone 后

weights = torch.load('TiSASRec.epoch=601.lr=0.001.layer=2.head=1.hidden=50.maxlen=200.pth')

可以正常执行,余下的因素硬件问题、操作系统问题、Python 版本问题、PyTorch 版本问题都有可能。

还有更小概率是 weights 文件因国内网络问题等原因损坏了,md5sum 值是 77cf0c8de63254b5bda5a64e5888a0a5,您那边也可以查看下是不是一致:

md5sum TiSASRec.epoch\=601.lr\=0.001.layer\=2.head\=1.hidden\=50.maxlen\=200.pth

以上是我能给到的帮助信息。

好的,十分感谢您的回复,祝生活愉快,工作顺利

RealHanYing commented 1 year ago

我刚随机找了一个环境,git clone 后 weights = torch.load('TiSASRec.epoch=601.lr=0.001.layer=2.head=1.hidden=50.maxlen=200.pth') 可以正常执行,余下的因素硬件问题、操作系统问题、Python 版本问题、PyTorch 版本问题都有可能。 还有更小概率是 weights 文件因国内网络问题等原因损坏了,md5sum 值是 77cf0c8de63254b5bda5a64e5888a0a5,您那边也可以查看下是不是一致: md5sum TiSASRec.epoch\=601.lr\=0.001.layer\=2.head\=1.hidden\=50.maxlen\=200.pth 以上是我能给到的帮助信息。

好的,十分感谢您的回复,祝生活愉快,工作顺利

Have you solved this problem? I have the same problem.

ParkerChan commented 1 year ago

我刚随机找了一个环境,git clone 后 weights = torch.load('TiSASRec.epoch=601.lr=0.001.layer=2.head=1.hidden=50.maxlen=200.pth') 可以正常执行,余下的因素硬件问题、操作系统问题、Python 版本问题、PyTorch 版本问题都有可能。 还有更小概率是 weights 文件因国内网络问题等原因损坏了,md5sum 值是 77cf0c8de63254b5bda5a64e5888a0a5,您那边也可以查看下是不是一致: md5sum TiSASRec.epoch\=601.lr\=0.001.layer\=2.head\=1.hidden\=50.maxlen\=200.pth 以上是我能给到的帮助信息。

好的,十分感谢您的回复,祝生活愉快,工作顺利

Have you solved this problem? I have the same problem.

no i still have this problem