Semaphore is a student-built and maintained Python application that semi-automates the process of operationalizing AI models. Semaphore downloads data, runs models, post-process outputs, and saves outputs. Semaphore currently takes model data in the form of .H5 files and input specifications and a DSPEC JSON. Examples of both are included in this repository.
Docker Desktop
docker-compose
.env
file in the root directory of the project. This file will contain the environment variables for the docker container. You can copy the contents of env.dist
and replace the values with your own.docker compose build
and docker compose up
(run docker compose up -d
to run in the background)docker exec semaphore-core python3 tools/migrate_db.py
ctrl+C
in the terminal or if running in background close in Docker Desktop (docker compose down
also works)docker compose down
and docker compose build
before docker compose up
. If you are making changes to the database, be sure to delete the existing DB volume on Docker Desktop before building againCurrently, you can run Semaphore through the make_and_save_prediction and make_prediction methods in the src/semaphoreRunner.py
which contains documentation for the CLI. Keep in mind the DB will need to be loaded with the proper location mappings for your ingested data. Feel free to reach out to one of the authors for help getting Semaphore up and running.
source ./venv/vsem/Scripts/activate
pip install -r requirements.txt
to install new dependencies (if you haven't already)uvicorn src.API.apiDriver:app
--host
and --port
if you so desire/docs
to the URL to access the docs page