一. 环境准备
1.1 虚拟机环境
准备三台能够互相通信的虚拟机,我的机器环境是使用Vagrant+VirtualBox搭建了一个三节点的集群环境,IP分别是192.168.7.2、192.168.7.3、192.168.7.4,操作系统为Cenos 7.
1.2 安装Python3
按照文档,python版本是3.6.9。这里特别说明一下,我使用python 3.7.5实验的时候会出现很多错误,甚至是tensorflow、tf-encrypted都无法安装成功,后来切换到3.6.9版本才成功。
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc libffi-devel python-devel openssl-devel -y
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz
tar -xvJf Python-3.6.9.tar.xz
mkdir /usr/local/python3
cd Python-3.6.9
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
复制代码
1.2 安装tensorflow
tensorflow版本尽量保持一致。
pip3 install --upgrade pip
pip3 install --upgrade setuptools
pip3 install tensorflow==1.13.2
pip3 install tf-encrypted
复制代码
1.3 免密码登录
配置三台机器之间的免密码登录。
192.168.7.2机器上执行:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.7.3
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.7.4
复制代码
192.168.7.3机器上执行:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.7.2
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.7.4
复制代码
192.168.7.4机器上执行:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.7.2
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.7.3
复制代码
二、实验数据和代码
先编写一个配置文件config.json:
{
"alice": "192.168.7.2:8088",
"bob": "192.168.7.3:8088",
"crypto-producer": "192.168.7.4:8088"
}
复制代码
注意名称和对应IP之间的关系,192.168.7.2这台机器对应的是alice, 那么就把alice方需要的代码和数据拷贝到这台机器上。
alice:
config.json , common.py , training_alice.py , aliceTrainFile.csv
复制代码
bob:
config.json , training_bob.py , bobTrainFileWithLabel.csv
复制代码
crypto-producer:
config.json , training_server.py to machine3
复制代码
代码目录结构与内容如下图所示:
三、训练
按顺序,先执行bob:
python3 training_bob.py
复制代码
再执行crypto-producer:
python3 training_server.py
复制代码
最后执行alice:
python3 training_alice.py
复制代码
最终会在alice节点上输出训练结果。
参考文档:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END