Skip to main content

Desupervised AI framework

Project description

borch

pipeline status coverage report Lifecycle

borch is an artificial intelligence (AI) framework developed by Desupervised. It's designed to be flexible and scalable framework that can solve problems using artificial intelligence and machine learning. Doing so by utilizing a wide ranging toolbox including Bayesian inference, ....

It consists of several sub packages:

  • ppl: A universal probabilistic programming language
  • infer: An inference package with support for Bayesian inference methods such as Variational Inference (VI), Markov Chain Monte Carlo (MCMC) as well as tools for semi-supervised training and many others.
  • utils: various utility functions

Usage

Run make help to see available make targets.

Installation

Virtual environment

When installing borch we normally use virtual environment to manage the Python version dependencies. Two good ones are https://virtualenv.pypa.io/en/stable/ and https://docs.conda.io/en/latest/miniconda.html, look at them and pick one to use and follow their documentation to crate and activate an environment.

NB All installations of python packages should be placed in the correct environment. Installing packages in the global python interpreter can result in unexpected behavior, where global packages may be used in favor of local packages.

Install locally

Once an appropriate conda environment has been created, run

make install

to install a production version of borch with support for a GPU, or

ARCH=cpu make install

for a version that only supports a CPU.

To install in development mode on machine(with no gpu support) run, and all development dependencies.

ARCH=cpu make install-dev

and for GPU support use

make install-dev

Docker

Currently, all borch docker images are based on Ubuntu 16.04. The GPU image is based on an Nvidia Cuda version. Both base images are specified as build arguments which calling docker build.

The GPU image can be built using:

docker build --build-arg BASE="nvidia/cuda:9.1-cudnn7-runtime-ubuntu16.04" --build-arg ARCH=gpu --build-arg D2_AWS_REGION=$D2_AWS_REGION --build-arg D2_AWS_ACCESS_KEY_ID=$D2_AWS_ACCESS_KEY_ID --build-arg D2_AWS_SECRET_KEY_ID=$D2_AWS_SECRET_KEY_ID --build-arg D2_AWS_ENDPOINT=$D2_AWS_ENDPOINT --pull -t borch-gpu . 

And the CPU image using:

docker build --build-arg BASE="ubuntu:18.04" --build-arg ARCH=cpu --build-arg D2_AWS_REGION=$D2_AWS_REGION --build-arg D2_AWS_ACCESS_KEY_ID=$D2_AWS_ACCESS_KEY_ID --build-arg D2_AWS_SECRET_KEY_ID=$D2_AWS_SECRET_KEY_ID --build-arg D2_AWS_ENDPOINT=$D2_AWS_ENDPOINT --pull -t borch-cpu .

The D2_AWS_... envioromental variables are optional, but if not provided functionality that relies on s3 buckets will not work.

Contributing

Please read the contribution guidelines in CONTRIBUTING.md.

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

borch-0.0.2.tar.gz (79.4 kB view details)

Uploaded Source

Built Distribution

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

borch-0.0.2-py3-none-any.whl (151.8 kB view details)

Uploaded Python 3

File details

Details for the file borch-0.0.2.tar.gz.

File metadata

  • Download URL: borch-0.0.2.tar.gz
  • Upload date:
  • Size: 79.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for borch-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b4f5d30207392b53cfb93d953bb1057db7404a8898d68efbb1b6da74c6851a88
MD5 44a7b897611acef0e7d58fee22f80b07
BLAKE2b-256 87c95b9bf90483adc9b88d2af42a8af4ba0d8d72c8deda3c5bbdae8421819ef3

See more details on using hashes here.

File details

Details for the file borch-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: borch-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 151.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for borch-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5041398fe14036b44d1b9e3977a17988213b0f83bcf7a3bf482083fd1620ad5c
MD5 7801923ba3b78bc20a5a635b7d386262
BLAKE2b-256 5e16fa2bbd6080facec41e423680a9c7ada73e3b98894823cd69b4eb50ce1283

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