Skip to main content

Optimized (and optionally gpu enhaced) fitting of Gaussian Mixture Models

Project description

dpmix is a library for understanding posterior distributions for Dirichlet and heirarchical Dirichlet mixtures of normal distributions represented by truncated stick breaking.

Requirements

  • NumPy

  • SciPy

  • Cython

  • PyCUDA

  • cyarma

  • cyrand

  • scikits.cuda

  • gpustats

  • mpi4py

Installation and testing

Install via

python setup.py install

To test, run the scripts in the “test” subfolder.

Usage

Check out the class docstrings for more info.

MPI

The multigpu facilities are developed using MPI. Therefore, using multiple machines is possible. However, note that the machines must be configured the same way. (Python)

Running the code on multiple machines requires mpiexec:

mpiexec -hostfile my_hosts -np 1 python tests/test_dpmix.py --gpu MPI

Where the my_hosts file looks like

host1 slots=3
host2 slots=2

I’m assuming here that the master instance of python is running on host1 and that host1 and host2 have 2 GPUs each. Note, an extra slot needs to be reserved for the master on host1. Furthermore, we need to specify which devices to use on each host. The gpu argument in the class constructors must be a dictionary like

gpu={'host1': [0,1], 'host2': [0,1]}

The keys must match the result of a call to os.uname() to get the host string.

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

dpmix-0.3.tar.gz (130.1 kB view details)

Uploaded Source

File details

Details for the file dpmix-0.3.tar.gz.

File metadata

  • Download URL: dpmix-0.3.tar.gz
  • Upload date:
  • Size: 130.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dpmix-0.3.tar.gz
Algorithm Hash digest
SHA256 316141f0141395141f53a2886d0640c61d9f8093ed127196b0195ba34f1bb0aa
MD5 371ee2632302132fc2eeffc23b072423
BLAKE2b-256 cbd00ec19b4c83786348755ec8debe81c44be04631fccb7b4fa3e2a163cc09c0

See more details on using hashes here.

Supported by

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