在AWS Sagemaker中以keras和Tensorflow作为后端配置GPU

时间:2018-12-11 05:18:03

标签: tensorflow keras amazon-sagemaker

我是aws智者的新手。 我正在尝试使用具有GPU支持的keras在aws sagemaker中建立模型。 下面给出了用于推断模型的docker基本图像

FROM tensorflow/tensorflow:1.10.0-gpu-py3

RUN apt-get update && apt-get install -y --no-install-recommends nginx curl
...

这是我用来检查烧瓶中的keras是否识别GPU的keras代码。

import keras
@app.route('/ping', methods=['GET'])
def ping():

    keras.backend.tensorflow_backend._get_available_gpus()

    return flask.Response(response='\n', status=200,mimetype='application/json')

当我使用GPU在Sagemaker中旋转笔记本实例时,keras代码将显示可用的GPU。 因此,为了在推理阶段(模型)访问GPU,除了tensorflow GPU基本映像之外,我是否需要在docker文件中安装任何其他库?

谢谢。

1 个答案:

答案 0 :(得分:4)

您不需要安装其他任何东西。 Keras依靠TensorFlow进行GPU检测和配置。

唯一值得注意的是训练期间如何使用多个GPU。我建议将“ gpu_count”作为超级参数传递,并像这样进行设置:

from keras.utils import multi_gpu_model
model = Sequential()
model.add(...)
...
if gpu_count > 1:
    model = multi_gpu_model(model, gpus=gpu_count)
model.compile(...)