Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决;运行时错误:CUDA错误:无效的设备序号“;?_Python_Opencv_Pytorch - Fatal编程技术网

Python 如何解决;运行时错误:CUDA错误:无效的设备序号“;?

Python 如何解决;运行时错误:CUDA错误:无效的设备序号“;?,python,opencv,pytorch,Python,Opencv,Pytorch,我正在尝试运行此代码。我不知道它有什么问题,但这段代码没有运行。我不知道如何解决这个问题 import cv2 from facial_emotion_recognition import EmotionRecognition emotion_detector = EmotionRecognition(device='gpu', gpu_id=1) camera = cv2.VideoCapture(0) while True: image = camera.read()[1]

我正在尝试运行此代码。我不知道它有什么问题,但这段代码没有运行。我不知道如何解决这个问题

import cv2
from facial_emotion_recognition import EmotionRecognition

emotion_detector = EmotionRecognition(device='gpu', gpu_id=1)
camera = cv2.VideoCapture(0)

while True:
    image = camera.read()[1]
    image = emotion_detector.recognise_emotion(image, return_type='BGR')
    cv2.imshow('Camera', image)

    key = cv2.waitKey(1)
    if key == 27:
        break

camera.release()
cv2.destroyAllWindows()
但我得到了一个错误:

Traceback (most recent call last):
  File "/home/fahim/Documents/Python_projects/Python tutorials/pantech AI Master/Computer_Vision/Day 8 Face emotion recognition/emotion.py", line 4, in <module>
    emotion_detector = EmotionRecognition(device='gpu', gpu_id=1)
  File "/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site-packages/facial_emotion_recognition/facial_emotion_recognition.py", line 25, in __init__
    self.network = NetworkV2(in_c=1, nl=32, out_f=7).to(self.device)
  File "/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site-packages/torch/nn/modules/module.py", line 607, in to
    return self._apply(convert)
  File "/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site-packages/torch/nn/modules/module.py", line 354, in _apply
    module._apply(fn)
  File "/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site-packages/torch/nn/modules/module.py", line 354, in _apply
    module._apply(fn)
  File "/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site-packages/torch/nn/modules/module.py", line 376, in _apply
    param_applied = fn(param)
  File "/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site-packages/torch/nn/modules/module.py", line 605, in convert
    return t.to(device, dtype if t.is_floating_point() else None, non_blocking)
RuntimeError: CUDA error: invalid device ordinal

Process finished with exit code 1
回溯(最近一次呼叫最后一次):
文件“/home/fahim/Documents/Python_projects/Python tutorials/pantech AI Master/Computer_Vision/Day 8面部情绪识别/emotion.py”,第4行,在
情感检测器=情感识别(设备='gpu',gpu id=1)
文件“/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site packages/facial_emotion_recognition/facial_emotion_recognition.py”,第25行,in_u_init__
self.network=NetworkV2(in_c=1,nl=32,out_f=7).到(self.device)
文件“/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site packages/torch/nn/modules/module.py”,第607行,输入至
返回自我。\u应用(转换)
文件“/home/fahim/anaconda3/envs/Computer\u Vision/lib/python3.7/site packages/torch/nn/modules/module.py”,第354行,适用于
模块应用(fn)
文件“/home/fahim/anaconda3/envs/Computer\u Vision/lib/python3.7/site packages/torch/nn/modules/module.py”,第354行,适用于
模块应用(fn)
文件“/home/fahim/anaconda3/envs/Computer\u Vision/lib/python3.7/site packages/torch/nn/modules/module.py”,第376行,适用于
应用参数=fn(参数)
文件“/home/fahim/anaconda3/envs/Computer_Vision/lib/python3.7/site packages/torch/nn/modules/module.py”,第605行,转换为
返回t.to(设备,如果t.是浮点,则为数据类型(),否则为无,非阻塞)
运行时错误:CUDA错误:设备序号无效
进程已完成,退出代码为1
这是我的计算机配置: GPU:NVIDIA GeForce MX130 CPU:Intel i5-10210U(8)@4.200GHz 请帮我解决此问题。

尝试更改:

emotion\u detector=EmotionRecognition(设备='gpu',gpu\U id=1)
致:

emotion\u detector=EmotionRecognition(设备='gpu',gpu\U id=0)

gpu\u id
只有在检测到多个gpu时才有效,因为您似乎只有一个gpu,所以它会抛出一个错误,因为您告诉函数获取gpu 2(因为我们从0开始计数)。

我一开始试过了。没用。出现此错误:FileNotFoundError:[Errno 2]没有这样的文件或目录:'/home/fahim/anaconda3/envs/Computer\u Vision/lib/python3.7/site packages/face\u emotion\u recognition/model/model.pkl'@FahimkamalAhmed,看起来您没有
model.pkl
文件。您需要一个模型,以便识别工作。如果没有尝试重新安装包,源文件中应该有一个模型。@FahimkamalAhmed在这种情况下,它确实起作用了。您刚刚遇到了另一个与原始错误无关的错误。@funie200是的,您是对的。文件中缺少model.pkl文件。我试图重新安装库,但每次都丢失了文件。因此,我从pypi.org下载了tar.z文件,并从那里获取model.pkl文件并将其粘贴到我的库中。它正在工作。现在是凌晨1点,我必须说我对我的工作很满意。谢谢你,伙计。