矩池云|GPU 分布式使用教程之 TensorFlow

GPU 分布式使用教程之 TensorFlow

TensorFlow 提供了6种策略实现分布式计算,各个策略详情请参考官方文档。本文档使用 MirroredStrategy 实现单机多卡分布式,MultiWorkerMirroredStrategy 实现多机多卡分布式计算。

选择机器

  • 单机多卡分布式:租用同个计算节点的多张卡即可。

  • 多机多卡分布式:需要先申请开通 分布式集群 功能,点击这里申请开通,在租用时,请选择带有如图所示图标的机器。没有这个图标的机器不支持加入分布式网络。

单机多卡

1)租用机器: 为实现TensorFlow的单机多卡分布式,首先,您需要按正常流程租用GPU,如单节点 4 卡 A2000,选择TensorFlow镜像,如TensorFlow2.8镜像。

租用的时候 GPU 数设置成 4,即表示 4 卡,对应显存、内存等配置也会翻倍。

2)适配代码: 单机多卡分布式使用 MirroredStrategy 需对脚本进行相应修改,点击下载测试代码(将下面代码写入机器中的一个 .py 文件即可,如:tf-demo.py ):

3)运行代码: 进入运行脚本所在目录,输入命令行,如:

# 进入脚本目录
cd /mnt/test/multi-card/tf
# 解压数据集到当前目录
unzip /public/tensorflow_datasets/cats_vs_dogs/kagglecatsanddogs_3367a.zip -d ./cats_vs_dogs
# 安装缺的依赖包
pip install tensorflow_datasets
# 运行程序
python tf-demo.py 

4)查看GPU使用情况: 租用界面点击详情按钮即可查看 GPU、CPU使用情况。从截图中可以看到 4 个显卡都有使用到。

多机多卡

多机多卡使用需要先申请开通 分布式集群 功能,点击这里申请开通

1)租用机器: 首先,您需要按正常流程租用 GPU,除了上文提到的通过图标直接选择支持分布式集群的机器外,还可以在主机市场筛选栏选择 支持分布式集群 筛选,然后选择自己需要的机器租用即可。

如两个计算节点,租用两台 A2000 4,共计 8 卡。选择相同的 TensorFlow 镜像,如 TensorFlow2.8 镜像。

注意: 单机多卡中每个节点的 GPU 卡数应该一样,才能都使用上,机器类型也最好一样。

2)创建集群: 进入 【个人中心】 — 【我的租用】 — 【分布式集群】

分布式集群需要先进行申请,申请通过后,点击【添加集群】- 【添加机器】—【确定】。

3)添加机器: 点击集群页面添加机器按钮,勾选要加入集群的机器,点击确定,即可将租用机器添加到集群。

添加机器成功后,系统会给每个节点分配集群 IP,当状态为已连接时,代表机器间可相互通信。

4)添加机器: 登录任一节点。因密钥由您掌握,故需由您按以下步骤完成节点间的ssh连通:

ssh-keygen -t rsa # 一路默认,生成公私钥
ssh-copy-id root@其他节点IP  #分发给其他节点,输入对应密钥。IP可在我的集群页面查看,如192.168.1.1

5)适配代码: 注意和单机多卡不同,多机多卡使用了 MultiWorkerMirroredStrategy,并配置了’TF_CONFIG’网络设置:

os.environ['TF_CONFIG'] = json.dumps({
    'cluster': {
        'worker': ["192.168.1.7:20005", "192.168.1.8:20006"]
    },
    'task': {'type': 'worker', 'index':0}
})

其中 cluster 包含了全部节点的IP和端口信息,所有节点此部分相同;task包含当前节点的角色,例如节点一为worker 0,节点二为worker 1。

点击下载测试代码(将下面代码写入机器中的一个 .py 文件即可,如:tf-demo2.py ):

6)运行程序: 登录主节点,进入运行脚本所在目录,输入命令行,如:

# 进入脚本目录
cd /mnt/test/multi-card/tf
# 解压数据集到当前目录
unzip /public/tensorflow_datasets/cats_vs_dogs/kagglecatsanddogs_3367a.zip -d ./cats_vs_dogs
# 安装缺的依赖包
pip install tensorflow_datasets
# 运行程序
python tf-demo2.py --num_workers 2 --worker_no 0

测试代码中,--num_workers 指定节点数(总共2个节点),用于设定batch_size, --worker_no 指定节点顺序(主节点故为0号)。

登录剩余节点,运行:

cd /mnt/test/multi-card/tf
python tf-demo2.py --num_workers 2 --worker_no 1

其中,--worker_no 指定节点顺序(第二个节点故为1号),如有更多节点,需做相应修改,其他参数不用修改。运行后,系统会自动连接并运行训练任务。

7)查看GPU使用情况: 租用界面点击详情按钮即可查看 GPU、CPU使用情况。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用矩池服务器的教程如下: 1. 首先,您需要访问矩池的官方网站。在网站上注册一个账号,如果已经有账号可以直接登录。 2. 登录后,您可以将需要上传的文件保存到矩池的网盘中。 3. 接下来,您可以购买所需的CPU资源。根据您的需求选择不同的CPU型号和数量,并按照平台规定的价格进行购买。 4. 完成购买后,您可以通过运行程序来启动您的服务器。您可以根据您的需求配置服务器的相关参数,并且确保您的程序能够在服务器上正常运行。 5. 在使用完成后,记得手动关闭服务器,以节省资源和费用。 总结: 使用矩池服务器的教程包括注册账号、上传文件、购买CPU、运行程序和手动关闭服务器。通过按照以上步骤进行操作,您就可以开始使用矩池服务器了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【新手入门】矩池使用指南](https://blog.csdn.net/weixin_41135786/article/details/130481966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [外链辅助工具 收录池蜘蛛链接提交客户端 v1.0](https://download.csdn.net/download/weixin_38603219/13106037)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值