RecBole Ver1.0入门笔记

官方教学:https://recbole.io/cn/quickstart.html

  • 2022/07/15: 更新更换数据集

1. 安装

pip install recbole

2. 使用

选择随机采集正样本的留一法。该框架能够实现,且有一篇论文详细介绍:《Revisiting Alternative Experimental Settings for Evaluating
Top-𝑁 Item Recommendation Algorithms》.
在这里插入图片描述

from recbole.quick_start import run_recbole

dataset = 'ml-1m'
model = 'NeuMF' # 从对比算法选择

# 参数
para_dic = {
        'training_batch_size': 512,
        'eval_batch_size': 512,
        'eval_args': {'group_by': 'user', 'split': {'LS': 'valid_and_test'}, 'mode': 'uni100'},  # 1
        'metrics': ['Hit', 'NDCG', 'MRR'],
        'topk': [5, 10],
        'epochs': 40,  # default 300 训练轮数
        # 'valid_metric': 'Hit@10',

        # - Training -#
        'learner': 'adam',
        'learning_rate': 0.001,
        'neg_sampling': {'uniform': 1},

        # - Model -#
        'dropout_prob': 0.2
    }

# 运行
run_recbole(dataset=dataset_arg, model=model_arg, config_dict=para_dic)


2.1 一些BUG

报错1:recbole tensors used as indices must be long, byte or bool tensors

解决:找到源代码报错行,在indices处变量后加上 .type(torch.long) 把tensor转化为long

2.2 未解决

效果比原论文和其他论文对比的结果要好一大截,要再研究一下代码

3. 更换数据集

以Anime数据集为例,也可以看作者的教程

3.1 下载作者的转换代码

https://github.com/RUCAIBox/RecDatasets

3.2 下载数据集

下载数据集【RecDatasets代码的README里有支持的数据集的链接】
解压

unzip archive.zip -d anime-data

直接解压也行,文件夹命名anime-data

3.3 转换格式

在这里插入图片描述
我这里建了2个文件夹来放原始数据和转换后的数据,其实不用这么麻烦。

python run.py --dataset anime --input_path ..\dataset_meta\anime-data --output_path ..\dataset_new\anime --convert_inter --convert_item

改改路径,成功如下图:
在这里插入图片描述
(速度有点慢,Anime不算太大的数据集,如果转换Amazon数据集,时间我不敢想啊)

3.4 使用

把转换后的放在RecBole-master\dataset\anime
然后运行改数据集的参数 dataset=‘Anime’
搞定
在这里插入图片描述

报错

在这里插入图片描述
如果能解决编码问题,可以把之前命令行的 “–convert_inter” 去掉,就只转换后面的item文件了。
如果不能解决:在这里插入图片描述
嘻嘻 直接去下现成的。。。链接在作者的README里,这里就不放了

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
RK808设计指导ver1.0是指针对RK808芯片的设计指南版本1.0。RK808是一款集成电源管理芯片,广泛应用于电子设备中,具有多种功能和特性。 设计指导旨在帮助开发人员在设计过程中充分发挥RK808芯片的优势,并合理使用其各项功能。该指导提供了有关电源管理、时钟管理、电池管理、充电管理等方面的详细说明和建议。 首先,RK808的电源管理功能是其最重要的功能之一。指导中详细介绍了RK808的各项电源管理功能,如稳压电源、低功耗模式和过温保护等。开发人员可以根据设备的功耗需求和电源供应情况,合理配置电源管理功能以提高系统效率和节能性能。 其次,RK808的时钟管理功能也得到了充分的说明和指导。开发人员可以根据自己的应用需求选择合适的时钟源,并通过指导中的配置建议确保时钟的稳定性和准确性。 此外,RK808还具有电池管理和充电管理功能。设计指导中给出了针对这些功能的最佳实践建议,包括如何控制电池充电电流、如何实现智能充电等。 通过阅读RK808设计指导ver1.0,开发人员可以了解RK808芯片的各项功能和特性,以及如何正确使用和配置这些功能,从而提高系统性能和稳定性,降低功耗,延长电池寿命。 总之,RK808设计指导ver1.0为开发人员提供了详细和实用的信息,帮助他们更好地应用RK808芯片,并根据应用需求进行灵活的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值