11年it研发经验,从一个会计转行为算法工程师,学过C#,c++,java,android,php,go,js,python,CNN神经网络,四千多篇博文,三千多篇原创,只为与你分享,共同成长,一起进步,关注我,给你分享更多干货知识!
发现menet训练分配gpu代码:
cvd ="4,5"# os.environ['CUDA_VISIBLE_DEVICES'].strip()
if len(cvd)>0:
for i in range(len(cvd.split(','))):
ctx.append(mx.gpu(i))
if len(ctx)==0:
ctx = [mx.cpu()]
print('use cpu')
else:
print('gpu num:', len(ctx),cvd)
prefix = args.prefix
每次从gpu0开始训练,当再开训练时,0gpu已经被占用,所以就报错了。
正确代码:
cvd ="0,1"# os.environ['CUDA_VISIBLE_DEVICES'].strip()
if len(cvd)>0:
for i in cvd.split(','):
ctx.append(mx.gpu(int(i)))
if len(ctx)==0:
ctx = [mx.cpu()]
print('use cpu')
else:
print('gpu num:', len(ctx))