Skip to content

cckolon/intclass

Repository files navigation

Integral Classifier

Training a neural network to predict whether functions are integrable. Based on the work of Lample and Charton in Deep Learning for Symbolic Mathematics.

Installation

  1. Install direnv and hook into your shell.
  2. Install the temporal CLI.
  3. Install docker.
  4. Install Python 3.11 if you don't already have it.
  5. Clone the repo and cd into it.
  6. Make a blank .env file: touch .env
  7. Allow direnv: direnv allow
  8. Make a virtual environment: python -m venv .venv
  9. Activate it: source .venv/bin/activate
  10. Install requirements: pip install -r requirements.txt

Running the Database

  1. Bring the db up: startdb
  2. Migrate the db: migrate

Making Training Data

  1. Install
  2. Run the database
  3. Start the temporal development server: temporal server start-dev
  4. Start a worker: runworker
  5. Start the data generation workflow: startwf

Using Multiple Computers to Generate Training Data

  1. Pick one computer (the "server") that will run the temporal server.
  2. Clone the repo and run the installation steps for all computers (temporal CLI is only required on the server).
  3. Set the DATABASE_HOST and TEMPORAL_SERVER environment variables on all computers to the IP of the server.
  4. On the server: run the database.
  5. On the server: temporal server start-dev --ip 0.0.0.0
  6. On all computers: runworker
  7. On the server: startwf

Running the Model

  1. Train the model: python train.py
  2. Run the model interactively: python infer.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published