Skip to main content

Neural-network Embedding All the Things

Project description

Network Embedding All the Things (NEAT)

Quality Gate Status Maintainability Rating Coverage

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.

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

neat_ml-0.1.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

neat_ml-0.1.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file neat_ml-0.1.0.tar.gz.

File metadata

  • Download URL: neat_ml-0.1.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for neat_ml-0.1.0.tar.gz
Algorithm Hash digest
SHA256 71aa45e0afe3038467565dd1aa2278c8d491f0fa5eaadd90305bd89129dfd09b
MD5 8a3ce1a61a0fde8f2ae4454c208a6b0a
BLAKE2b-256 8690c5da39bb522484a6e8e594c4c7292e89fc8ec737743fd17e301345a2f911

See more details on using hashes here.

File details

Details for the file neat_ml-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: neat_ml-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for neat_ml-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0555f56e0f32ad7cec42414626ae791d63d1001b8ee7cf72161ac06b1960bbd8
MD5 816dae7268dda12130f87a0228b302c2
BLAKE2b-256 797e709105e958083203e5e8ac0f25eeaaae81a36b90903e88419c0fd162e009

See more details on using hashes here.

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