Skip to main content

A library for flight maneuver classification.

Project description

Steerable Inductive Biases for Flight Maneuver Reconstruction

Clayton Curry


Blog: Flight Maneuvers Flask Project Demo Open In Colab Github Repo

Todo List

Project

  • implement utilities for loading flight scenarios, pre-processing and post-processing, and visualizing predicted maneuvers in a Flask application
  • implement trainer(model, training_data) that relies on Adam to optimize model weights in a fixed number of gradient steps
  • implement resnet.py (confirm convergence)
  • implement se2_resnet.py on a 1D signal (confirm convergence)
  • implement se3_resnet.py on a 1D signal (confirm convergence)
  • implement a suitable strategy for neural_search
  • for each flight maneuver, list the resulting precision and recall values for each maneuver class together with confidence intervals
  • for each model, plot precision and recall values and show trends as training examples vary
  • evolve candidate models for resnet.py, se2_resnet.py, and se3_resnet.py' by:
    • fitness function: - Binary Cross-Entropy Loss,
    • varying the number of convolution layers, kernel size, kernel width, fully connected layer width
    • constaining the a weight space to have fixed computer memory
    • the same training set, validation set, and test set
  • with each candidate, obtain confidence intervals for precision and recall (per maneuver class) using bootstrapping
  • plot a table that, for each flight maneuver, reports precision and recall for each maneuver class together with confidence intervals

Report

  • describe related works and their relation to concepts in representation theory and harmonic function theory
  • relate the physical symmetries of the label function to actions of $SE(3)$ and $SE(2)$
  • show the derivation for one resnet
  • show the derivation for one se2_resnet equivariant convolution layer
  • show the derivation for one se3_resnet equivariant convolution layer
  • describe how models are evolved
  • explain trends, update claims in the abstract (if necessary), and describe how the findings support the hypothesis
  • conclusions and future work

Description

TODO

Related Projects

Directory Structure and Usage

.
├── README.md
├── app.py                              # opens web app on localhost created using Dash and Flask 
├── main.py                             # runs experiments on local hardware after parsing CLI arguments
│
├── examples
│   ├── introduction.ipynb              # A gentle introduction to background and methodology used in project
│   └── TODO                            # TODO
│
│
└── src
    ├── model
    │   ├── resnet_1D.py                # ordinary residual blocks and network operating on a sampled timeseries
    │   ├── se2_resnet_1D.py            # TODO
    │   └── se3_resnet_1D.py            # TODO
    │
    ├── data_module.py                  # defines classes extending pytorch data utilities 
    ├── neural_search.py                # TODO
    └── utils.py                        # standard utilities for plotting results, obtaining statistics, and pre-/postprocessing data

How to run

First, create a new conda environment using Python 3.7 and activate it as follows

# create env
conda create -n flight-maneuvers python=3.7
# activate it
conda activate flight-maneuvers

Next, clone the repo, navigate to the project base, and install requirements,

# clone project   
git clone https://github.com/clay-curry/Flight-Maneuvers
# enter project
cd Flight-Maneuvers
# install dependencies
pip install -r requirements.txt

Finally, pass a supporting argument to the main module as follows

# run module (example: mnist as your main contribution)   
python main.py  COMMAND

where COMMAND is chosen from the following table:

COMMAND Description
fetch invokes 'curl' to download 1000 pre-simulated training examples
train instantiates a model and invokes routines for training
evaluate assesses model performance using a randomized ANOVA procedure
app starts a web server on localhost and serves models using Flask

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flight_maneuvers-1.0.1.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

flight_maneuvers-1.0.1-py3-none-any.whl (11.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page