0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google colabでRecBoleを使う方法(How to use RecBole on google colab)

Posted at

RecBoleとは

以下はRecBoleのgithub上の文章を引用し、修正したものです.

(RecBole: https://github.com/RUCAIBox/RecBole)

RecBoleは、研究目的のために統一された、包括的で効率的なフレームワークで推薦アルゴリズムを再現および開発するために、PythonとPyTorchをベースに開発されたPythonのライブラリの一つです。当ライブラリには、以下の4つの主要なカテゴリをカバーする91の推薦アルゴリズムが含まれています。

  1. 一般的な推薦
  2. 順序推薦
  3. コンテキスト重視推薦
  4. ナレッジベース推薦

43のベンチマーク推薦データセットへのサポートを提供しています。ユーザーは提供されたスクリプトを使用して元のデータの処理を行うか、単に我々のチームが処理したデータセットをダウンロードすることができます。

以下はRecBoleの概要図です.

image.png

使い方

今回,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,
    )

実装が上手くいく場合には、以下のように学習の記録が出力が確認できます。

Screenshot 2023-12-07 at 14.08.11.png

最後に

今回は、自身の推薦モデル構築のためにRecBoleのsetupについて記事を作りました。 これから、RecBoleの具体的な使い道を記載できたらいいなと思います。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?