M2det問題:win10運行錯誤總結

1.安裝alfred報錯
File "C:\Users\AppData\Local\Temp\pip-install-pgy54cbe\alfred-py\setup.py", line 29, in <module>
        long_description = f.read()
    UnicodeDecodeError: 'gbk' codec can't decode byte 0x9c in position 5247: illegal multibyte sequence
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

定位問題:源碼中沒有指定open時的編碼方式,使得默認爲gbk編碼
源碼地址:https://github.com/jinfagang/alfred
在這裏插入圖片描述
下載原始包文件後,解壓找到setup.py文件,修改文件裏的這一行,即加上encoding=‘utf-8’,保存後打包爲新的安裝包
在這裏插入圖片描述
然後使用本地安裝包安裝

pip install F:\AI\alfred(安裝包位置)

已經向開發者提了,現在可以直接install不會出錯了,不過下面的應該還沒改

2.安裝pycocotools出現問題
ERROR: Could not find a version that satisfies the requirement requests (from alfred-py==2.6.10) (from versions: none)
ERROR: No matching distribution found for requests (from alfred-py==2.6.10)

有可能是版本問題或者網絡問題,我是網絡不穩定,重新安裝後就可以了

另外在76行會有一些必須的下載
在這裏插入圖片描述
由於pycocotools在windows上安裝比較奇葩,在安裝pycocotools會提示error: Unable to find vcvarsall.bat
解決:沒有c++編譯環境,安裝單獨的開發工具集vc++
請參考https://blog.csdn.net/a6822342/article/details/80841056
解決(是的,我查了很多都是必須裝,就算不裝vs,也得裝vc++)

然後環境安裝好之後,再次安裝提示error: Failed building wheel for pycocotools
解決pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
在這裏插入圖片描述
由於再次安裝alfred-py時會把pycocotools清空按照它的方式安裝,所以在76行把pycocotools刪掉(反正我們裝了)

3.安裝pytorch

我的版本是python3.5 cuda 10.0 windows pip安裝

命令:pip install https://download.pytorch.org/whl/cu100/torch-1.0.1-cp35-cp35m-win_amd64.whl
(事實上,官網https://pytorch.org/get-started/locally/下載挺快的呀,我還差點要去百度雲下載了……另外,在官網上沒有找到我電腦的cuda版本的,不知道其他版本會造成什麼影響就去網上找了以前同樣配置的命令,暫時還沒發現問題……)

還需要安裝torchvision,不然會出現這個問題No matching distribution found for torch==1.4.0 (from torchvision)
torch1.0.1版本對應的torchvision版本爲0.2.0,使用pip install torchvision==0.2.0安裝
查看torch版本

>>> import torch
>>> print(torch.__version__)
1.0.1

查看torchvision是否安裝成功

>>> import torch
>>> torch.cuda.is_available()
True
4.Tensorflow1.1.0 CPU版本安裝

使用命令:pip install tensorflow==1.1.0rc2
在這裏插入圖片描述
測試是否成功:

>>>import tensorflow as tf
>>>sess = tf.Session()
>>>a = tf.constant(10)
>>>b = tf.constant(22)
>>>print(sess.run(a + b))

正確輸出結果32,安裝完畢

若出現以下情況
在這裏插入圖片描述
說明需要對numpy包進行降級,降到<1.17,於是我乾脆降到了1.16pip install numpy==1.16就不會報warning了

5.報錯信息No module named 'utils.nms.cpu_nms' "報錯 'cpu_nms.py

解決:文件cpu_nms.pyx改名(一般路徑爲 ./utils/nms/cpu_nms.pyx) 爲cpu_nms.py
當然這個會報錯,修改cpu_nms.py代碼
(gpu-nms 報錯暫時註釋掉吧,後續再看)

6.報錯信息OpenCV: FFMPEG: tag 0x47504a4d/'MJPG' is not supported with codec id 7 and format 'mp4 / MP4 (MPEG-4 Part 14)'

我用cv2把多張圖片轉成視頻時候,遇見了這個錯誤,不能生成視頻文件,查了很多資料,最終同時找到了兩種解決方案。

# coding=utf-8
import os
import cv2
from PIL import Image

def makevideo(path, fps):
    """ 將圖片合成視頻. path: 視頻路徑,fps: 幀率 """
    fourcc = cv2.VideoWriter_fourcc(*"MJPG")
    path1 = 'C:/Users/lenovo/PycharmProjects/Dataset/gameData/test'
    im = Image.open('C:/Users/lenovo/PycharmProjects/Dataset/gameData/test/10561.jpg')
    print(im.size)
    vw = cv2.VideoWriter(path, fourcc, fps, im.size)
    for i in os.listdir(path1):
        frame = cv2.imread(path1 +'/'+ i)
        vw.write(frame)

if __name__ == '__main__':
    video_path = 'C:/Users/lenovo/PycharmProjects/Dataset/gameData/test_new1.mp4'
    makevideo(video_path, 10)  # 圖片轉視頻

報錯信息:

OpenCV: FFMPEG: tag 0x47504a4d/'MJPG' is not supported with codec id 7 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'

解決方法:

  • 1.將fourcc = cv2.VideoWriter_fourcc(*“MJPG”)的"MJPG"改成"mp4v"
  • 2.將vw = cv2.VideoWriter(path, fourcc, fps, im.size)的fourcc直接改成 0x00000021

第二種方法雖然會出現OpenCV: FFMPEG: tag 0x00000021/’!???’ is not found (format ‘mp4 / MP4 (MPEG-4 Part 14)’)’,但是生成的視頻文件是正常的。

參考鏈接:https://www.wandouip.com/t5i244769/

7.win10下Cuda的下載安裝及配置

首先我們要確定本機是否有獨立顯卡。在計算機-管理-設備管理器-顯示適配器中,查看是否有獨立顯卡。
在這裏插入圖片描述
可以看到本機有一個集成顯卡和獨立顯卡NVIDIA GetForce GTX 1050。

接下來,測試本機獨立顯卡是否支持CUDA的安裝,點擊此處查詢顯卡是否在列表中。
在這裏插入圖片描述
在這裏插入圖片描述
從上圖中,可以看到我本機的獨立顯卡是支持CUDA安裝的,計算力是6.1。

那麼,接下來就是選擇CUDA進行安裝即可,點擊此處
在這裏插入圖片描述
在這裏插入圖片描述
下載之後,打開,選擇存臨時文件的路徑或者默認,確定。
在這裏插入圖片描述
選擇自定義版本
在這裏插入圖片描述
選擇安裝以下4項。不要選Visual Studio Integration,因爲有可能出現全部安裝失敗的情況。
在這裏插入圖片描述
選擇安裝路徑(需要記住路徑,一會配環境變量用)
在這裏插入圖片描述
在這裏插入圖片描述
安裝完成之後,便是配置環境變量。環境變量配置如下圖所示。
在這裏插入圖片描述
測試CUDA是否正常安裝,進入cmd,輸入nvcc -V
在這裏插入圖片描述

7.CUDNN的下載及配置

在這裏插入圖片描述
下載完成後解壓,將文件夾中的這三個文件覆蓋掉
在這裏插入圖片描述

8.查看GPU使用情況

第一種直接打開任務管理器的性能
在這裏插入圖片描述
第二種使用cmd輸入nvidia-smi

C:\Program Files\NVIDIA Corporation\NVSMI>nvidia-smi

在這裏插入圖片描述
其中68MiB / 2048MiB就是使用顯存佔總顯存的比例

下方的Processes:就是顯示程序的GPU Memory的使用,現在沒有就顯示No running processes found

9.運行項目命令

先刪除文件然後再運行以下命令

cd utils
python build.py build_ext --inplace

否則會報以下信息

running build_ext
skipping 'nms\cpu_nms.c' Cython extension (up-to-date)
skipping 'pycocotools\_mask.c' Cython extension (up-to-date)

解決方式:刪除掉各種Cython生產的之前的文件
的build文件夾、__pycache__文件夾、__init_.py文件,刪除pycocotools文件夾(對應第二張圖)下的__pycache__文件夾、__init_.py文件、_mask.c文件以及_mask.cpython-36m-x86_64-linux-gnu.so文件(可能不同的python版本,這個文件名不一樣),刪除nms文件夾(對應第三張圖)下的__pycache__文件夾、__init_.py文件、cpu_nms.c文件、gpu_nms.c文件、gpu_nms.cpp文件、cpu_nms.cpython-36m-x86_64-linux-gnu.so文件(可能不同的python版本,這個文件名不一樣)、gpu_nms.cpython-36m-x86_64-linux-gnu.so(可能不同的python版本,這個文件名不一樣)。就是徹底刪除之前的生成文件即可。
在這裏插入圖片描述

轉自:https://blog.csdn.net/qq_21368481/article/details/89448226

10.電腦太卡

任務管理器打開服務–NVDIA Display Container LS右鍵打開服務
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2.運行demo_webcam.py報錯

運行命令:python demo_webcam.py -c=configs/m2det512_vgg.py -m=weights/m2det512_vgg.pth --show
報錯信息:RuntimeError: CUDA out of memory

3.怎麼把GPU0換成GPU1
4.報錯信息:cl.exe failed with exit status 2
5.報錯信息:No module named 'lib_kernel.lib_nms.gpu_nms
6.將.pyx格式文件(linux環境)編譯成pyd文件(windows環境)實現import導入
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章