RecBoleとは
以下はRecBoleのgithub上の文章を引用し、修正したものです.(RecBole: https://github.com/RUCAIBox/RecBole)
RecBoleは、研究目的のために統一された、包括的で効率的なフレームワークで推薦アルゴリズムを再現および開発するために、PythonとPyTorchをベースに開発されたPythonのライブラリの一つです。当ライブラリには、以下の4つの主要なカテゴリをカバーする91の推薦アルゴリズムが含まれています。
- 一般的な推薦
- 順序推薦
- コンテキスト重視推薦
- ナレッジベース推薦
43のベンチマーク推薦データセットへのサポートを提供しています。ユーザーは提供されたスクリプトを使用して元のデータの処理を行うか、単に我々のチームが処理したデータセットをダウンロードすることができます。
以下はRecBoleの概要図です.
使い方
今回,Google ColabでRecboleを実行するために必要なコードを記載しておきます.!pip install recbole
!pip install ray
!pip install kmeans-pytorch
上のコードで必要なライブラリをインストールします。
インストール後は、以下のコードを実行してエラーがないかを確認してください。
import argparse
from recbole.quick_start import run
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--model", "-m", type=str, default="BPR", help="name of models")
parser.add_argument(
"--dataset", "-d", type=str, default="ml-100k", help="name of datasets"
)
parser.add_argument("--config_files", type=str, default=None, help="config files")
parser.add_argument(
"--nproc", type=int, default=1, help="the number of process in this group"
)
parser.add_argument(
"--ip", type=str, default="localhost", help="the ip of master node"
)
parser.add_argument(
"--port", type=str, default="5678", help="the port of master node"
)
parser.add_argument(
"--world_size", type=int, default=-1, help="total number of jobs"
)
parser.add_argument(
"--group_offset",
type=int,
default=0,
help="the global rank offset of this group",
)
args, _ = parser.parse_known_args()
config_file_list = (
args.config_files.strip().split(" ") if args.config_files else None
)
run(
args.model,
args.dataset,
config_file_list=config_file_list,
nproc=args.nproc,
world_size=args.world_size,
ip=args.ip,
port=args.port,
group_offset=args.group_offset,
)
実装が上手くいく場合には、以下のように学習の記録が出力が確認できます。