Giter Site home page Giter Site logo

ssslakter / hits-recsys Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 984 KB

recommender system lab from 2024 HITs ML course

Home Page: https://ssslakter.github.io/hits-recsys/

License: Apache License 2.0

Python 19.11% Jupyter Notebook 80.23% CSS 0.41% Dockerfile 0.25%

hits-recsys's Introduction

hits-recsys

Collaborative filtration with some devops stuff

How to

Install

To install with pip run

pip install https://github.com/Ssslakter/hits-recsys@main

Train and evaluate

hits-recsys_cli --help
usage: hits-recsys_cli [-h] [--model_type MODEL_TYPE] [--model MODEL] [--out OUT] optype r_path m_path

positional arguments:
  optype                   operation to peroform, one of 'train', 'eval' or 'pred'
  r_path                   path to dataset with ratings
  m_path                   path to dataset with movie titles

options:
  -h, --help               show this help message and exit
  --model_type MODEL_TYPE  type of model to train, one of `collab`, `embed` (default: collab)
  --model MODEL            path to model if not train
  --out OUT                folder for output model, by default will save to './models' (default: ./models)

Current embedding model was trained on RTX-2060 8 epochs for about 5 minutes

Run web-server

hits-recsys_server --help
usage: hits-recsys_server [-h] [--host HOST] [--port PORT] [--model_type MODEL_TYPE] [--model_dir MODEL_DIR] [--logs_dir LOGS_DIR]

options:
  -h, --help               show this help message and exit
  --host HOST              (default: 127.0.0.1)
  --port PORT              port to listen on (default: 5000)
  --model_type MODEL_TYPE  type of model to train, one of `collab`, `embed` (default: collab)
  --model_dir MODEL_DIR    directory to load model from (default: ./models)
  --logs_dir LOGS_DIR      logs directory (default: ./logs)

Contributing

If you plan to contribute, you can install editable:

git clone https://github.com/Ssslakter/hits-recsys
pip install -e ".[dev]"

Start server in a docker container

To start with docker you can use docker-compose.yaml wich would build an image and start a web-server

git clone https://github.com/Ssslakter/hits-recsys
cd hits-recsys
docker compose up

hits-recsys's People

Contributors

ssslakter avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.