Skip to content

CUBoulder-2019Sp-IML4HCI/TrexWeki

Repository files navigation

TrexWeki 🦖

Alt text

This project concentrates on using wekinator utilizing Python-OSC to develop a game engine that works on a few supervised examples. Wekinator is a free, open-source project created by Rebecca Fiebrink a machine learning engine for interactive system that utilizes ports as communication channel.

This is undertaken as a part of course assignment for CSCI 5880 under the guidance of Ben Shapiro

video

Getting Started

To utilize this repository, clone the repository in your machine. Also make sure you have the following prerequirements settled. deployment for notes on how to deploy the project on a live system.

Prerequisites

  • wekinator: Follow the instructions on the wekinator site to get started with wekinator. These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See

  • python: This project uses python for creating OSCClients and OSCServers

  • python-requirements

    • OSC : although this project uses OSC prescribed by wekinator, you are free to use any OSC library that seems fit.
    • gym : basic platform for open ai projects
    • chrome_dino : chrome trex open ai gym
    • pynput : handling keyboard inputs
    • sklearn : extracting features
    • Selenium driver for chrome browser : Varies based on OS. Copy chrome driver and paste it in the root directory of the project named chromedriver

Installing

Installing the requirements :

pip install -r requirements.txt

Copy chrome driver and paste it in the root directory of the project named chromedriver.

How to run already existing model

  • Open wekinator and open an existing project. Select data/bestmodel/MyTrex2.wekproj from the data directory of the project.
  • In your terminal, with root directory of the project python dino_gym.py.
  • In another terminal, with root directory of the project python output_keyboard_event.py.
  • In wekinator, click on run.
  • Get ☕️ and see the dino play for you.

How to train your model

  • Open wekinator and open an existing project. Select data/bestmodel/MyTrex2.wekproj from the data directory of the project.
  • In your terminal, with root directory of the project python dino_gym.py.
  • In wekinator, click on Start Recording
  • Collect around 500-1000 recording samples.
  • Train on a classifier of your liking. SVM and knn seems to work better than other classifiers.
  • Click on Train

Architecture

Alt text

Built With

Acknowledgments

  • Chrome_dino Developer
  • Prof. Ben Shapiro