Giter Club home page Giter Club logo

2021-lpcvc-referee's Introduction

LPCVC-Referee

The evaluation systems (referee) for the 2020 and 2021 Low Power Computer Vision Challenge.

Workflow Components and Layout

Required Hardware and Software

System Setup (Subject to Change for 2021)

Setting up the Yokogawa WT310 Power Meter

The power meter must be connected so that it can record the power consumption of the Pi.

Setting up the Linux Server

Create a virtual environment for this repository and install the requirements from requirements.txt. Create a folder to store the submission files and update the SUBMISSION_DIR variable of the lpcvc.py file in this repository. Create an SSH key for the Linux Server using the ssh-keygen utility.

Setting up the Windows Computer

After installing Microsoft Visual Studio and Python 3, open the HELPS WT310 Controlling Program solution and build the solution. Update the locations of the Python binary and the Debug folder in the METER_CMD and METER_CSV variables of the lpcvc.py file in this repository. Create another SSH key for the computer using the ssh-keygen.exe utility. Add the Linux Server key to the authorized_keys file in the user/.ssh folder using the ssh-add.exe utility.

Setting up the Raspberry Pi

Run the following commands on the Raspberry Pi.

sudo dnf update
sudo dnf install git cmake ninja-build clang unzip distcc python3-virtualenv python3-devel python3-opencv python-pillow gstreamer1-plugins-base gstreamer1-plugins-good
sudo reboot

Create a virtual environment for the solutions with the --site-packages option. Create an empty folder for the testing of the submissions. Update the PI_TEST_DIR variable of the lpcvc.py file in this repository. Create yet another SSH key for the Linux Server using the ssh-keygen utility. Add all three keys to the authorized_keys file in the ~/.ssh folder using the ssh-add utility. DO NOT add the Pi's key to the other two machines. Doing so is a security risk.

Using the Referee

Starting the Referee Queue

nohup python3 -u ./lpcvc.py r &

This command with dump the logs generated by the queue to the nohup.out file.

Seeing the Logs in Real Time

tailf nohup.out

Manually Enqueuing Submissions

touch queue/test.pyz

Stopping the Referee Queue

ps ax | grep python3   # find the queue process in this list
kill 1000              # kill the task associated with the queue

kill may take some time because it will wrap up the current submission that is being tested. DO NOT use kill -9 or the power meter may go into an indeterminate state and require a manual reset. This is a very hard thing to do right now.

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.