我通过 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-service 和 rasa-production 和rasa-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
谢谢。