跨机训练——SSHFS远程挂载目录
实验室算力资源实在有限,往往是多个人共用一台机器,环境与数据都在一台机器上。如果平常用的机器(A机)被占用,又有其他机器(B机)空闲时,想要利用其他机器来训练,要么将整个目录复制过去,要么在Pytorch中调用B机的显卡,或者就用本文的方案:将A机的文件挂载到B机上,让B机来执行A机上的程序。
挂载目录
可以用sshfs将A机的环境目录与程序数据目录挂载到B机上,在B机上运行程序即可。
1 | # 在B机上执行 |
跨机训练
此时可以通过终端连接B机进行训练,或者用VSCode连接B机操作;
1 | # 在B机上执行 |
在无法直接访问B机的情况下也可以通过A机ssh来操作B机训练。
1 | # 在A机上执行 |
测速
最好提前确保两机互联速度够快,可以使用iperf3软件测试直连速度,如果是百兆网络可能会严重影响训练速度。
1 | # 两台机器都需要安装iperf3 |
如果B机输出的测试结果中比特率(Bitrate)在100 MBytes/sec以上即说明两机之间是千兆网络,适合用来进行跨机训练。
SSH密钥设置
为了避免两机之间每次使用ssh与sshfs时都需要输入密码,建议提前将两机的公钥(id_rsa.pub内容)拷入另一台机的授权文件(authorized_keys)中。
1 | ssh-copy-id [User]@[IP] |