gpt4 book ai didi

keras - 无论如何要在带有 AMD GPU 的 Mac 中使用 Keras?

转载 作者:行者123 更新时间:2023-12-03 16:42:54 25 4
gpt4 key购买 nike

我有一台配备 AMD 处理器的 MacBook Pro,我想在这个 GPU 中运行 Keras(Tensorflow 后端)。我开始知道 Keras 只适用于 NVIDIA GPU。解决方法是什么(如果可能)?

最佳答案

您可以 OpenCL 库来克服这一点。我已经对其进行了测试,它对我来说工作正常。

注意:我有 python 3.7 版,我将使用 pip3 进行软件包安装。

步骤:

  • 使用以下命令安装 OpenCL 包

    pip3 install pyopencl

  • 安装 PlaidML使用以下命令的库

    pip3 install pip install plaidml-keras

  • 运行 的安装程序PlaidML .设置时,您可能会收到选择 GPU 的提示。如果设置正确,您将在最后收到一条成功消息。

    plaidml-setup

  • 安装 格子凳在您的 GPU 上测试 plaidml。

    pip3 install plaidbench

  • 测试一下。如果一切顺利,您将获得基准分数。

    plaidbench keras mobilenet

  • 现在我们必须设置一个环境路径。把它放在你的代码的顶部。
  • import os
    os.environ["KERAS_BACKEND"] = "plaidml.keras.backend"

    os.environ["RUNFILES_DIR"] = "/Library/Frameworks/Python.framework/Versions/3.7/share/plaidml"
    # plaidml might exist in different location. Look for "/usr/local/share/plaidml" and replace in above path

    os.environ["PLAIDML_NATIVE_PATH"] = "/Library/Frameworks/Python.framework/Versions/3.7/lib/libplaidml.dylib"
    # libplaidml.dylib might exist in different location. Look for "/usr/local/lib/libplaidml.dylib" and replace in above path
  • 在实际代码中测试 .使用 keras而不是 tensorflow.keras在您的代码中并运行以下命令。 (keras 安装在在 GPU 中运行的第 2 步)
  • import os

    # IMPORTANT: PATH MIGHT BE DIFFERENT. SEE STEP 6
    os.environ["KERAS_BACKEND"] = "plaidml.keras.backend"
    os.environ["RUNFILES_DIR"] = "/Library/Frameworks/Python.framework/Versions/3.7/share/plaidml"
    os.environ["PLAIDML_NATIVE_PATH"] = "/Library/Frameworks/Python.framework/Versions/3.7/lib/libplaidml.dylib"

    # Don't use tensorflow.keras anywhere, instead use keras
    import keras
    from keras.datasets import mnist
    from keras.models import Sequential
    from keras.layers import Dense, Dropout, Flatten
    from keras.layers import Conv2D, MaxPooling2D
    from keras import backend as K
    batch_size = 128
    num_classes = 10
    epochs = 12
    # input image dimensions
    img_rows, img_cols = 28, 28
    # the data, split between train and test sets
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    if K.image_data_format() == 'channels_first':
    x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)
    x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
    input_shape = (1, img_rows, img_cols)
    else:
    x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
    x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
    input_shape = (img_rows, img_cols, 1)
    x_train = x_train.astype('float32')
    x_test = x_test.astype('float32')
    x_train /= 255
    x_test /= 255
    print('x_train shape:', x_train.shape)
    print(x_train.shape[0], 'train samples')
    print(x_test.shape[0], 'test samples')
    # convert class vectors to binary class matrices
    y_train = keras.utils.to_categorical(y_train, num_classes)
    y_test = keras.utils.to_categorical(y_test, num_classes)
    model = Sequential()
    model.add(Conv2D(32, kernel_size=(3, 3),
    activation='relu',
    input_shape=input_shape))
    model.add(Conv2D(64, (3, 3), activation='relu'))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    model.add(Dropout(0.25))
    model.add(Flatten())
    model.add(Dense(128, activation='relu'))
    model.add(Dropout(0.5))
    model.add(Dense(num_classes, activation='softmax'))
    model.compile(loss=keras.losses.categorical_crossentropy,
    optimizer=keras.optimizers.Adadelta(),
    metrics=['accuracy'])
    model.fit(x_train, y_train,
    batch_size=batch_size,
    epochs=epochs,
    verbose=1,
    validation_data=(x_test, y_test))
    score = model.evaluate(x_test, y_test, verbose=0)
    print('Test loss:', score[0])
    print('Test accuracy:', score[1])

    当你运行这个你会得到
    Using plaidml.keras.backend backend.
    INFO:plaidml:Opening device "metal_intel(r)_iris(tm)_graphics_6100.0"
    # or whatever GPU you selected in step 3

    这确认您正在 GPU 中运行它。

    引用: https://towardsdatascience.com/gpu-accelerated-machine-learning-on-macos-48d53ef1b545

    关于keras - 无论如何要在带有 AMD GPU 的 Mac 中使用 Keras?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60016868/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com