RecSim: A Configurable Recommender Systems Simulation Platform (w/o Tensorflow deps)
Project description
RecSim: A Configurable Recommender Systems Simulation Platform
RecSim is a configurable platform for authoring simulation environments for recommender systems (RSs) that naturally supports sequential interaction with users. RecSim allows the creation of new environments that reflect particular aspects of user behavior and item structure at a level of abstraction well-suited to pushing the limits of current reinforcement learning (RL) and RS techniques in sequential interactive recommendation problems. Environments can be easily configured that vary assumptions about: user preferences and item familiarity; user latent state and its dynamics; and choice models and other user response behavior. We outline how RecSim offers value to RL and RS researchers and practitioners, and how it can serve as a vehicle for academic-industrial collaboration.
Disclaimer
This is not an officially supported Google product.
What's new
- 12/13/2019: Added (abstract) classes for both multi-user environments and agents. Added bandit algorithms for generalized linear models.
Installation and Sample Usage
It is recommended to install RecSim using (https://pypi.org/project/recsim/):
pip install recsim
However, the latest version of Dopamine is not in PyPI as of December, 2019. We want to install the latest version from Dopamine's repository like the following before we install RecSim. Note that Dopamine requires Tensorflow 1.15.0 which is the final 1.x release including GPU support for Ubuntu and Windows.
pip install git+https://github.com/google/dopamine.git
Here are some sample commands you could use for testing the installation:
git clone https://github.com/google-research/recsim
cd recsim/recsim
python main.py --logtostderr \
--base_dir="/tmp/recsim/interest_exploration_full_slate_q" \
--agent_name=full_slate_q \
--environment_name=interest_exploration \
--episode_log_file='episode_logs.tfrecord' \
--gin_bindings=simulator.runner_lib.Runner.max_steps_per_episode=100 \
--gin_bindings=simulator.runner_lib.TrainRunner.num_iterations=10 \
--gin_bindings=simulator.runner_lib.TrainRunner.max_training_steps=100 \
--gin_bindings=simulator.runner_lib.EvalRunner.max_eval_episodes=5
You could then start a tensorboard and view the output
tensorboard --logdir=/tmp/recsim/interest_exploration_full_slate_q/ --port=2222
You could also find the simulated logs in /tmp/recsim/episode_logs.tfrecord
Tutorials
To get started, please check out our Colab tutorials. In RecSim: Overview, we give a brief overview about RecSim. We then talk about each configurable component: environment and recommender agent.
Documentation
Please refer to the white paper for the high-level design.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file recsim-no-tf-0.2.3.tar.gz
.
File metadata
- Download URL: recsim-no-tf-0.2.3.tar.gz
- Upload date:
- Size: 57.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47aee9fc07a0b1bc8fa03339999edb027e10139ea38651ac168637bfb8c52f33 |
|
MD5 | 03288563f8e0ca227fea882862bdcf2b |
|
BLAKE2b-256 | 3f9318ab814aa409eb8af7c62e1ee64054d39dc23f12a948329c88c61af32150 |
File details
Details for the file recsim_no_tf-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: recsim_no_tf-0.2.3-py3-none-any.whl
- Upload date:
- Size: 98.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b27d835a0a7d671b24c3623a02fe68b36a7ec38e7b74892a734d31f199bf0124 |
|
MD5 | e34b432a4786aed79db7df033f161f23 |
|
BLAKE2b-256 | be08de8dd55c5ce7d4c855d3b4b9e39f3fbbb01d1c797ffe7f6c75e73fb65beb |