• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Tensorflow多GPU训练方法

人工智能 宗孝鹏 1437次浏览 0个评论

在《TensorFlow之目标检测API接口调试(超详细)》文章中,介绍了tensorflow API接口调用方法,详细描述了训练的过程,训练的时候用了单GPU训练,tensorflow是支持多GPU训练的,因此,介绍一下多GPU训练的方法。

 

很简单,只需要修改两个地方:

第一个参数是train.py文件,找到以下参数

 

flags.DEFINE_integer(‘num_clones’, 1, ‘Number of clones to deploy per worker.’)
默认为1,如果自己有多个GPU,可以将参数修改为GPU数量,比如说2、4等;当然也可以在运行train.py的时候以参数的形式传入。

 

第二个参数是训练配置文件,如rfcn_resnet101_coco.config,根据自己使用的具体网络不同,在train_config中,找到batch_size参数,默认值为1,可修改为大点的参数,理论上

大点比较好,并且要求是GPU数量的整数倍,比如设置为8、16、32等,这个参数根据显存来决定,显存越大,可设置的越大。

 

在batch_size一定的情况下,GPU数量越多,训练速度越快

 

修改完上述两个参数后,就可以调用多个GPU来训练了。

 

注意batch_size的设置要合理,如果设置过大,会报如下所示的错误

ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[8,2048,36,64] and type float on /job:localhost/replica:0/task:0/device:GPU:1 by allocator GPU_1_bfc

如果说想要指定GPU号,则在train.py中添加以下代码

import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0,3'

表示调用第1块和第4块显卡训练


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Tensorflow多GPU训练方法
喜欢 (0)

您必须 登录 才能发表评论!

加载中……