Keras下使用多GPU训练模型

本文介绍了如何在Keras 2.x版本中利用多GPU进行模型训练,以加速和解决内存限制问题。通过keras.utils.multi_gpu_model创建数据并行版本的模型,适用于8片GPU。讨论了可能遇到的Tensorflow版本问题,并给出VGG16+Cifar10的案例,展示只更新全连接层的训练方法。
摘要由CSDN通过智能技术生成

Keras 2.X版本后可以很方便的支持使用多GPU进行训练了,使用多GPU可以提高我们的训练过程,比如加速和解决内存不足问题。
我的tensorflow_gpu=1.15.0; Keras==2.1.6

涉及的代码

  • 设置可以使用的GPU编号
    import os
    os.environ["CUDA_VISIBLE_DEVICES"] = "2,3" # 仅让id=2,3的GPU可被使用
  • 当你的电脑中有多块GPU时, keras.utils.multi_gpu_model 中提供有内置函数,该函数可以产生任意模型的数据并行版本,最高支持在8片GPU上并行。
from keras.utils import multi_gpu_model #加载头文件

model = VGG16_model(input_shape=(224, 224, 3)) # 实例化模型
parallel_model = multi_gpu_model(model, gpus=2) #使用多GPU训练

parallel_model.fit(x, y, .......) #训练模型

loss, accuracy = parallel_model.evaluate(x_test, y_test) # 测试模型

案例:VGG16+Cifar10 (Keras中多GPU训练)

# -*- coding:utf-8 -*-
# @Content : 利用现有的VGG16模型预测cifar10数据集

import numpy as np
import cv2  # 加载opencv,为了后期的图像处理

from keras.datasets import cifar10
from keras.models import Model
from keras.applications.vgg16 import VGG16
from keras.layers import Dense, Flatten, Dropout
from keras
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值