Training a neural network to predict whether functions are integrable. Based on the work of Lample and Charton in Deep Learning for Symbolic Mathematics.
- Install direnv and hook into your shell.
- Install the temporal CLI.
- Install docker.
- Install Python 3.11 if you don't already have it.
- Clone the repo and
cd
into it. - Make a blank
.env
file:touch .env
- Allow direnv:
direnv allow
- Make a virtual environment:
python -m venv .venv
- Activate it:
source .venv/bin/activate
- Install requirements:
pip install -r requirements.txt
- Bring the db up:
startdb
- Migrate the db:
migrate
- Install
- Run the database
- Start the temporal development server:
temporal server start-dev
- Start a worker:
runworker
- Start the data generation workflow:
startwf
- Pick one computer (the "server") that will run the temporal server.
- Clone the repo and run the installation steps for all computers (temporal CLI is only required on the server).
- Set the
DATABASE_HOST
andTEMPORAL_SERVER
environment variables on all computers to the IP of the server. - On the server: run the database.
- On the server:
temporal server start-dev --ip 0.0.0.0
- On all computers:
runworker
- On the server:
startwf
- Train the model:
python train.py
- Run the model interactively:
python infer.py