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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file flight_maneuvers-1.0.1.tar.gz.

File metadata

  • Download URL: flight_maneuvers-1.0.1.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for flight_maneuvers-1.0.1.tar.gz
Algorithm Hash digest
SHA256 978effb32f016878450290d4deca5165e05db28cd0c3202f3545691c1c457396
MD5 7d85784a248484f153bb3e1be30fc6cb
BLAKE2b-256 7aa82449e3897122d8aacc508d2e3e8abf8db0118295a23799f8997207a321f1

See more details on using hashes here.

File details

Details for the file flight_maneuvers-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for flight_maneuvers-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 57a5b985bc302cea5ed962ee0f5561d11901d9af27e55ba1192d26683d615287
MD5 f467815c1f12f6978545eee45df5cb72
BLAKE2b-256 86a82b1af42852e4fb5038f758195e3199e42bd76f0563517101fbb4743c2bd9

See more details on using hashes here.

Supported by

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