项目作者: shamim-hussain
项目描述 :
Asynchronous ADMM for Consensus Optimization
高级语言: Jupyter Notebook
项目地址: git://github.com/shamim-hussain/async_admm_consensus.git
Asynchronous ADMM for Consensus Optimization
An implementation of the Asynchronous ADMM algorithm for Consensus Optimization presented in the paper
Zhang, Ruiliang, and James Kwok. “Asynchronous distributed ADMM for consensus optimization.” International conference on machine learning. 2014.
in Python using PyTorch and TCP sockets.
Presentation and Problem Set
Implementation
For example run and more information see the example_run.ipynb notebook.
Files Description
- The main scripts are mnist_avg.py and mnist_logistic.py which are experiments designed to average the MNIST dataset and run Multiclass Logistic Regression on the MNIST dataset respectively.
You need to specify the process id when running these files.
- A (process id) = (number of workers) corresponds to the master
- A process id from 0 to (number of workers - 1) are different workers
The results are generated in the logs directory.
- The run_workers.sh bash script is a tool to spawn multiple processes including all workers and the master.
- The plotting_tool.py file can be used to produce plots from the logs.
- mnist.npz and mnist_14.npz are 28x28 and 14x14 versions of the MNIST dataset respectively.
- admm.py and tcp_server.py are library files used by the main scripts.
- exampl_run.ipynb demonstrates how tor run and evaluate the experiments.