Network Embedding All the Things (NEAT)
NEAT is a flexible pipeline for:
- Parsing a graph serialization
- Generating embeddings
- Training Classifiers
- Making predictions
- Creating well formatted output and metrics for the predictions
Quick Start
pip install neat-ml
neat run --config neat_quickstart.yaml
NEAT will write graph embeddings to a new quickstart_output directory.
Requirements
This pipeline has grape as a major dependency.
Methods from tensorflow are supported, but are not installed as dependencies to avoid version conflicts.
Please install the versions of tensorflow, CUDA, and cudnn compatible with your system and with each other prior to installing NEAT if you wish to use these methods.
On Linux, this may be easiest using conda as follows:
wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh -O anaconda.sh
bash ./anaconda.sh -b
echo "export PATH=\$PATH:$HOME/anaconda3/bin" >> $HOME/.bashrc
conda init
conda install cudnn
conda install tensorflow
Installation
pip install neat-ml
Running NEAT
neat run --config tests/resources/test.yaml # example
neat run --config [your yaml]
The pipeline is driven by a YAML file (e.g. tests/resources/test.yaml), which contains all parameters needed to complete the pipeline.
The contents and expected values for this file are defined by the neat-ml-schema.
This includes hyperparameters for machine learning and also things like files/paths to output results. Specify paths to node and edge files:
GraphDataConfiguration:
graph:
directed: False
node_path: path/to/nodes.tsv
edge_path: path/to/edges.tsv
If the graph data is in a compressed file and/or a remote location (e.g., on KG-Hub), one or more URLs may be specified in the source_data parameter:
GraphDataConfiguration:
source_data:
files:
- path: https://kg-hub.berkeleybop.io/kg-obo/bfo/2019-08-26/bfo_kgx_tsv.tar.gz
desc: "This is BFO, your favorite basic formal ontology, now in graph form."
- path: https://someremoteurl.com/graph2.tar.gz
desc: "This is some other graph - it may be useful."
A diagram explaining the design a bit is here.
If you are uploading to AWS/S3, see here for configuring AWS credentials:
Credits
Developed by Deepak Unni, Justin Reese, J. Harry Caufield, and Harshad Hegde.
Metadata
Release files for neat-ml 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| neat_ml-0.1.0.tar.gz | 19.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| neat_ml-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.3 kB
Release files / neat_ml-0.1.0.tar.gz
| Download URL | neat_ml-0.1.0.tar.gz |
|---|---|
| Size | 19.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71aa45e0afe3038467565dd1aa2278c8d491f0fa5eaadd90305bd89129dfd09b
|
|
BLAKE2b-256 checksum How to use checksums |
8690c5da39bb522484a6e8e594c4c7292e89fc8ec737743fd17e301345a2f911
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Release files / neat_ml-0.1.0-py3-none-any.whl
| Download URL | neat_ml-0.1.0-py3-none-any.whl |
|---|---|
| Size | 22.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0555f56e0f32ad7cec42414626ae791d63d1001b8ee7cf72161ac06b1960bbd8
|
|
BLAKE2b-256 checksum How to use checksums |
797e709105e958083203e5e8ac0f25eeaaae81a36b90903e88419c0fd162e009
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Security for neat-ml 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.