Recbole入门

Recbole:安装 | 伯乐

RecBole可以在以下几种系统上运行:

  • Linux
  • Windows 10
  • macOS X

RecBole需要在python 3.7或更高的环境下运行。

RecBole要求torch版本在1.7.0及以上,如果你想在GPU上运行RecBole,请确保你的CUDA版本或CUDAToolkit版本在9.2及以上。这需要你的NVIDIA驱动版本为396.26或以上(在linux系统上)或者为397.44或以上(在Windows10系统上)。

可以从conda、pip、GitHub上安装,官网上都有,这里详细展示pip安装,我在python3.8上下载成功但是运行实例一直失败,下文是在python3.7上运行时的过程。

一、从pip上安装RecBole:

只需在命令行输入以下命令:pip install recbole

 

接着显示Successful巴拉巴拉就好了

二、使用Recbole供的 quick start 方式运行 RecBole

如果你是从pipConda安装RecBole,你可以新建一个python文件,例如:run.py,在这个文件中写入下面的代码:

from recbole.quick_start import run_recbole
run_recbole()

然后执行如下命令:

python run.py --dataset=ml-100k --model=BPR

就会在ml-100k这个数据集上进行BPR模型的训练和测试。

三、问题

我在训练过程中遇到了一些问题:

1.ModuleNotFoundError: No module named 'ray'
Recbole入门_第1张图片

 这个意思就是没有ray模块,如下:

这里引用到了ray,所以我们直接下载就可以,依旧使用pip下载

pip install ray

2.AttributeError: module 'google.protobuf.internal.containers' has no attribute 'MutableMapping'
Recbole入门_第2张图片

 这个就是说没有MutableMapping,网上说要比较一下portobuf和protoc的版本,如下,我比较了版本相同,不是这个问题,如果不同就需要重新下载一下

 比较代码:

pip show protobuf
protoc --version

Recbole入门_第3张图片

不是版本的问题,需要到python安装环境中Lib\site-packages\google\protobuf\internaldeed\containers中加上这个模块,我的路径如下:

E:\Anaconda\envs\jialiwei\Lib\site-packages\google\protobuf\internaldeed

添加如下代码:

from collections.abc import MutableMapping

Recbole入门_第4张图片

 这样就不会报错了,这个应该是collections.abc中的模块也需要单独写一下import

3.在此执行,终于运行了一段,但是又有错误

前面成功的运行部分如下:

Recbole入门_第5张图片

 报错:

Recbole入门_第6张图片

 意思就是h5py和HDF5不兼容,刚开始尝试升级HDF5版本,因为看那句意思是HDF5应该是1.10.5版本,现在是1.10.4版本,但是发现HDF5没有1.10.5版本,那就修改h5py的版本

先卸载:

pip uninstall h5py

再下载:

pip install h5py

给我报了一堆错,不过有Successfully installed h5py-3.8.0,就解决了。

Recbole入门_第7张图片

 最后撒花!!!成功运行啦,结果如下:

Recbole入门_第8张图片

如果对你有帮助这话,点个赞再走吧!

你可能感兴趣的:(recbole,python,tensorflow,pycharm)