Caffe 使用多GPU

由于在ubuntu中使用caffe的程序时,都使用.sh文件,该文件中常见的命令为:

./build/tools/caffe train --solver=examples/testXXX/solver.prototxt

当电脑中有多个GPU时,默认使用GPU0。如果想使用其他的GPU,可以将该文件内容修改如下:

./build/tools/caffe train --solver=examples/testXXX/solver.prototxt --gpu 2

 注意,caffe中默认编号从0开始,因而–GPU 2的意思是使用第3个GPU。

如果要使用多个GPU,可以使用如下命令:

./build/tools/caffe train --solver=examples/testXXX/solver.prototxt --gpu 0,1,2,3

 

则使用0,1,2,3这4个GPU。

如果要使用所有的GPU,可使用如下命令:

./build/tools/caffe train --solver=examples/testXXX/solver.prototxt --gpu all

注意,使用的GPU越多,开始初始化时时间越久。

 

1. 多GPU训练时,速度没有变得更快。

使用多GPU训练时,每个GPU都会运行一个 Caffe 模型的实例。比如当使用 nnn 个GPU训练时,网络会有 nnn 个分身分别在各自的GPU上运行,nnn 个网络中有一个“本尊”叫root_net,root_net除了负责正常的前传反传还负责更新参数,而其它网络只负责前传和反传。大致流程是这样的,nnn 个网络共享一个数据层,数据层读取 nnn 个batch的数据分别送给 nnn 个网络进行前传和反传,然后使用归约的方法将 nnn 个网络计算的梯度累加在root_net上,取平均后由root_net更新网络参数,接着同步 nnn 个网络的参数,数据层再取 nnn 个batch的数据进行下一次迭代。在多个GPU之间实现归约和同步会很耗时,尤其是当两个GPU不在一个multiGpuBoardGroup上的情况,所以整体的时间并没有减少太多。

所以相同时间内,多GPU 能够训练更多的数据。

 

2. Batch_size 选择的问题

这里的意思就是batchsize和学习率是相关的,如果batchsize减小了X倍,则理论上学习率应增大sqrt(X)倍(当然这是找到最好的batchsize的情况下的),不过Alex还是用了X倍。后面 https://arxiv.org/abs/1404.5997 这个链接的论文还没看,有时间的可以看一下,好像有专门讲到batchsize的设置的。

另外,batchsize最好设置为8的倍数,这样gpu的并行运算效率最高。

 

Reference

在Ubuntu 16.04中安装Docker并使用GPU出现问题,首先需要确保你的系统配置符合Docker和Caffe GPU的要求。以下是一些可能的解决方案: 1. 确保你的系统支持NVIDIA GPU:首先,检查你的计算机上是否安装了NVIDIA显卡驱动程序。可以使用以下命令检查驱动程序是否已成功安装并正在运行: ``` nvidia-smi ``` 如果该命令能够成功启动,并显示NVIDIA显卡的信息,则说明驱动程序已成功安装。 2. 安装NVIDIA Docker:Docker在GPU支持方面需要使用NVIDIA Docker插件。你可以按照NVIDIA Docker官方文档中的步骤安装,包括添加apt存储库、安装软件包和配置插件等。 3. 配置NVIDIA运行:在使用Docker使用NVIDIA运行可以确保Docker能够正确地使用GPU。你可以通过编辑`/etc/docker/daemon.json`文件来配置NVIDIA运行,确保该文件中包含以下内容: ``` { "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" } ``` 保存并退出该文件,然后重新启动Docker服务: ``` sudo systemctl restart docker ``` 4. 运行Docker容使用GPU:在运行Caffe,确保你在`docker run`命令中使用了`--runtime=nvidia`选项,以确保容能够使用GPU。例如: ``` docker run --runtime=nvidia caffe-gpu-image ``` 这将使用NVIDIA运行在容中启动Caffe,并允许它使用GPU加速。 通过执行以上步骤,你应该能够在Ubuntu 16.04上安装Docker并成功使用GPU运行Caffe。如果问题仍然存在,请检查是否遵循了正确的安装步骤,并查看系统日志以获取更多信息。如果问题仍然无法解决,你可以搜索相关的错误信息或向社区等其他资源寻求帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值