机器:
57上两个端口作为server。
56上一个作为分发数据,求平均梯度使用。
57上两块gpu,每个worker进程使用一个gpu。启动代码如下,
用server1.sh 和 server2.sh启动即可。
训练数据:
在data目录下,通过generate_square.py生成,拟合二次多元函数Y =(X1)^2 + (X2)^2+…+(X10)^2
in-graph的主要问题在与平局梯度的处理:
看懂代码,得先知道zip(*tower_gards),tf.expamd_dims 和 tf.comcat。并不难,都是数据格式处理
实际上这个函数就是把梯度求了一个均值,然后把grad和var打包在一起
代码在git上
地址:https://github.com/distrect9/tensorflow_distribute_multi_gpus