A library for flight maneuver classification.
Project description
Todo List
Project
implement utilities for loading flight scenarios, pre-processing and post-processing, and visualizing predicted maneuvers in a Flask applicationimplementtrainer(model, training_data)
that relies on Adam to optimize model weights in a fixed number of gradient stepsimplementresnet.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
, andse3_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
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for flight_maneuvers-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57a5b985bc302cea5ed962ee0f5561d11901d9af27e55ba1192d26683d615287 |
|
MD5 | f467815c1f12f6978545eee45df5cb72 |
|
BLAKE2b-256 | 86a82b1af42852e4fb5038f758195e3199e42bd76f0563517101fbb4743c2bd9 |