Git Product home page Git Product logo

chainermn's Introduction

Build Status Documentation Status PyPI License: MIT

ChainerMN: Distributed Deep Learning with Chainer

Documentation | Installation | Examples | Release Notes

ChainerMN is an additional package for Chainer, a flexible deep learning framework. ChainerMN enables multi-node distributed deep learning with the following features:

  • Scalable --- it makes full use of the latest technologies such as NVIDIA NCCL and CUDA-Aware MPI,
  • Flexible --- even dynamic neural networks can be trained in parallel thanks to Chainer's flexibility, and
  • Easy --- minimal changes to existing user code are required.

This blog post provides our benchmark results using up to 128 GPUs.

Installation

ChainerMN can be used for both inner-node (i.e., multiple GPUs inside a node) and inter-node settings. For inter-node settings, we highly recommend to use high-speed interconnects such as InfiniBand.

In addition to Chainer, ChainerMN depends on the following software libraries: CUDA-Aware MPI, NVIDIA NCCL, and a few Python packages. After setting them up, ChainerMN can be installed via PyPI:

pip install chainermn

Please refer to the installation guide for more information.

Getting Started

You can invoke MNIST example with four workers by the following command:

mpiexec -n 4 python examples/mnist/train_mnist.py
  • Chainer Tutorial --- If you are new to Chainer, we recommend to start from this.
  • ChainerMN Tutorial --- In this tutorial, we explain how to modify your existing code using Chainer to enable distributed training with ChainerMN in a step-by-step manner.
  • Examples --- The examples are based on the official examples of Chainer and the differences are highlighted.

Contributing

Any contribution to ChainerMN would be highly appreciated. Please refer to Chainer Contribution Guide.

License

MIT License

Reference

Akiba, T., Fukuda, K. and Suzuki, S., ChainerMN: Scalable Distributed Deep Learning Framework, Proceedings of Workshop on ML Systems in The Thirty-first Annual Conference on Neural Information Processing Systems (NIPS), (2017) URL, BibTex

chainermn's People

Contributors

keisukefukuda avatar iwiwi avatar levelfour avatar shu65 avatar kuenishi avatar corochann avatar y1r avatar sonots avatar mitmul avatar tkerola avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.