当前位置:   article > 正文

Keras下使用多GPU训练模型_from keras.utils import multi_gpu_model

from keras.utils import multi_gpu_model

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) # 测试模型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

案例: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.<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号