安装dlib的时候print(dlib.DLIB_USE_CUDA)输出为‘False’解决办法!!!

Kara ·
更新时间:2024-11-10
· 848 次阅读

1.首先正常安装自己的tensorflow-gpu,CUDA,cuDNN,python,tensorflow(注意版本兼容问题)

2.下载CMake,解压缩

3.用VIS2019打开dlib-master的安装目录并且开始编辑json文件,开启USE_AVX_INSTRUCTIONS,失效USE_SSE2_INSTRUCTIONS

      

4.进入dlib的安装目录

#不用像网上说的那样加什么--yes python .\setup.py install

5.结果

6.输入代码测试dlib

#!/usr/bin/python3.6 # -*- coding: utf-8 -*- # @Time : 2020/3/16 14:03 # @Author : JoyYang # @Email : JoyYang21@163.com # @File : aa.py # @Software: PyCharm from PIL import Image import face_recognition import time import dlib import sys from skimage import io image = face_recognition.load_image_file("微信图片_20200313141838.jpg") Image.fromarray(image) s = time.time() face_locations = face_recognition.face_locations(image, number_of_times_to_upsample=0,model='cnn') print(time.time() - s) print(dlib.cuda.get_num_devices()) for face_location in face_locations: # Print the location of each face in this image top, right, bottom, left = face_location print("A face is located at pixel location Top: {}, Left: {}, Bottom: {}, Right: {}".format(top, left, bottom, right)) # You can access the actual face itself like this: face_image = image[top:bottom, left:right] pil_image = Image.fromarray(face_image) pil_image.show()

 7.查看运行GPU

查看机器上GPU情况

命令: nvidia-smi

功能:显示机器上gpu的情况

命令: nvidia-smi -l

功能:定时更新显示机器上gpu的情况

其中左上侧有0、1、2、3的编号,表示GPU的编号,在后面指定GPU时需要使用这个编号

CUDA_VISIBLE_DEVICES=1   python  your_file.py

在默认条件下,tensorflow会一次占满左右显存!这对于我们想在同一台机器上跑多个程序不利(后面的程序会报显存不足的错误),可以通过以下方式,设置tensorflow中显存的使用方式

在Python代码中指定GPU

import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"] = "0" # 使用几号GPU os.environ["CUDA_VISIBLE_DEVICES"] = "-1" # 不使用GPU

设置定量的GPU使用量

config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 session = tf.Session(config=config)

设置最小的GPU使用量

config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config)

Pwr:Usage/Cap| :Pwr:用法/上限|

Memory-Usage:内存使用情况


作者:Joyyang_c



print USE FALSE 输出 cuda dlib

需要 登录 后方可回复, 如果你还没有账号请 注册新账号