rah*_*ddy 5 face-recognition python-3.x dlib tensorflow
我的机器有 Geforce 940mx GDDR5 GPU。
我已经安装了运行 GPU 加速 dlib(具有 GPU 支持)的所有要求:
CUDA 9.0 工具包,包含来自https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal 的所有 3 个补丁更新
cuDNN 7.1.4
然后我在 Github 上克隆 dlib/davisKing 存储库以编译具有 GPU 支持的 dlib 后,我执行了以下所有命令:
$ git clone https://github.com/davisking/dlib.git
$ cd dlib
$ mkdir build
$ cd build
$ cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1
$ cmake --build .
$ cd ..
$ python setup.py install --yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA
Run Code Online (Sandbox Code Playgroud)
现在我怎么可能检查/确认 dlib(或其他库依赖于 dlib,如 Adam Geitgey 的 face_recognition)是否在 python shell/Anaconda(jupyter Notebook)中使用 GPU?
小智 9
除了使用命令的先前答案,
dlib.DLIB_USE_CUDA
Run Code Online (Sandbox Code Playgroud)
有一些替代方法可以确保 dlib 是否确实在使用您的 GPU。
检查它的最简单方法是检查 dlib 是否识别您的 GPU。
import dlib.cuda as cuda
print(cuda.get_num_devices())
Run Code Online (Sandbox Code Playgroud)
如果设备数量 >= 1,则 dlib 可以使用您的设备。
另一个有用的技巧是运行您的 dlib 代码并同时运行
$ nvidia-smi
Run Code Online (Sandbox Code Playgroud)
这应该为您提供完整的 GPU 利用率信息,您可以在其中分别查看总利用率和每个进程的内存使用情况。
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.48 Driver Version: 410.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1070 Off | 00000000:01:00.0 On | N/A |
| 0% 52C P2 36W / 151W | 763MiB / 8117MiB | 5% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1042 G /usr/lib/xorg/Xorg 18MiB |
| 0 1073 G /usr/bin/gnome-shell 51MiB |
| 0 1428 G /usr/lib/xorg/Xorg 167MiB |
| 0 1558 G /usr/bin/gnome-shell 102MiB |
| 0 2113 G ...-token=24AA922604256065B682BE6D9A74C3E1 33MiB |
| 0 3878 C python 385MiB |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
在某些情况下,进程框可能会显示“不支持进程”之类的内容,这并不意味着您的 GPU 无法运行代码,但它不仅支持此类日志记录。
如果 dlib.DLIB_USE_CUDA 为 true 则它正在使用 cuda,如果为 false 则不是。
顺便说一句,这些步骤没有任何作用,并且不需要使用 python:
$ mkdir build
$ cd build
$ cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1
$ cmake --build .
Run Code Online (Sandbox Code Playgroud)
只需运行 setup.py 即可。
| 归档时间: |
|
| 查看次数: |
26330 次 |
| 最近记录: |