0

我通过 docker compose 从以下链接安装了 Rasa x full。 https://rasa.com/docs/rasa-x/installation-and-setup/install/docker-compose

我插入大约 100-150 个 nlu、响应、故事数据。当我训练模型时,它需要 5-6 分钟。它使用CPU。我的机器有GPU。我从这里安装了 tensorflow 和 nvidia 驱动程序。 https://www.tensorflow.org/install/gpu

但是当我训练我的模型时,它仍然使用 cpu。我运行nvidia-smi命令它说你有 gpu 驱动程序但没有找到 runnign 进程。

在此之后我尝试了以下操作;

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

nano  /etc/docker/daemon.json                                                                                           

{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
sudo pkill -SIGHUP dockerd
systemctl daemon-reload
systemctl restart docker

但它仍然不能使用。

我更改了我的 docker-compose 文件,例如;

服务区插入 nvsmi 测试服务;

 nvsmi:
    image: ubuntu:18.04
    environment:
      NVIDIA_VISIBLE_DEVICES: all
      NVIDIA_DRIVER_CAPABILITIES: all
    command: nvidia-smi

我运行新的 compose 文件,然后 nvsmi 容器返回 gpu 驱动程序列表(如预期的那样)我在环境区域中向x-rasa-services 添加了以下值:&default-rasa-servicerasa-productionrasa-worker

  NVIDIA_VISIBLE_DEVICES: all
  NVIDIA_DRIVER_CAPABILITIES: all

但它仍然不能使用。

我尝试在 python 中使用以下代码,它使用我的 GPU

import tensorflow as tf
tf.debugging.set_log_device_placement(True)
a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
b = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
c = tf.matmul(a, b)

print(c)

我如何在 rasa 中使用我的 gpu。请帮我?

My OS version: Ubuntu 18.04
rasa 2.1.2 full version
docker-compose version: 1.26.0
tensorflow: 2.4.0
python version: 2.7.17, 3, 3.6(multiple version)
NVIDIA-SMI 460.27.04    Driver Version: 460.27.04    CUDA Version: 11.2

谢谢。

4

0 回答 0