国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Maskrcnn/Faster-rcnn依賴項安裝過程中THC.h: No such file or directory/THCeilDiv Undefined/分配內(nèi)存空間等問題的解決方案

這篇具有很好參考價值的文章主要介紹了Maskrcnn/Faster-rcnn依賴項安裝過程中THC.h: No such file or directory/THCeilDiv Undefined/分配內(nèi)存空間等問題的解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在論文復(fù)現(xiàn)安裝maskrcnn-benchmark依賴項的過程中,遇見了pytorch版本不匹配導(dǎo)致的無法安裝的問題,現(xiàn)存的大多數(shù)內(nèi)容都建議安裝低版本的pytorch以解決問題,但也不能總是這么干,不然自己這兼容性也太差了,順便也吐槽一下pytorch的兼容性問題。在此總結(jié)一下,方便遇到相似問題進行參考。

主要遇到的問題在于與THC相關(guān)的包很多都在pytorch更新的過程中被拋棄了,導(dǎo)致很多.cu文件在安裝依賴項時出現(xiàn)了不匹配的問題。

本文中使用ubuntu-16.04.1操作系統(tǒng),pytorch版本為1.13.1,cuda版本為11.6,如pytorch更新后有更多的修改,請參閱其他文章。(以下問題基本是由于pytorch由10.x更新為11.x后產(chǎn)生的不兼容問題。)

Q1 fatal error: THC/THC.h: No such file or directory

開始時首先遇到了頭文件無法引用的問題,這個問題參考了博客(138條消息) fatal error: THC/THC.h: No such file or directory_thc/thc.h: 沒有那個文件或目錄_o0stinger0o的博客-CSDN博客的內(nèi)容,時間在22年3月-4月之間,以及博客中提到的github代碼中更新的內(nèi)容。

可以看到,在/maskrcnn_benchmark/csrc/cuda文件夾中的所有以.cu結(jié)尾的代碼文件中刪除了下述頭文件:

#include <THC/THC.h>

并且把所有的

THCudaCheck(cudaGetLastError());

替換成了

AT_CUDA_CHECK(cudaGetLastError());

Q2 "THCCeilDiv" is undefined

之后又找到出現(xiàn)了這個問題,再調(diào)查一番,發(fā)現(xiàn)pytorch后來沒有對這個函數(shù)的定義了,因此需要進行更換。

基于這樣的想法,查閱資料找到Faster RCNN pytorch 1.0版調(diào)試(踩坑)過程記錄 | 碼農(nóng)家園 (codenong.com)中這樣的一段代碼:


//dim3 grid(std::min(THCCeilDiv(**, 512L), 4096L));
dim3 grid(std::min(((int)** + 512 -1) / 512, 4096));

可以用這樣的方式進行替換:即對每個.cu文件中調(diào)用THCCeilDiv(x,y)的地方,都把這個函數(shù)換成 (x+y-1)/y的形式,即可完成變換。

--2023.10.5--

在翻看的過程中找到了官方對此函數(shù)不再支持使用的文檔。

Migrate remainder of THCDeviceUtils.cuh to ATen by peterbell10 · Pull Request #65472 · pytorch/pytorch · GitHub

在所有使用此函數(shù)的文件中加入頭文件:

#include<ATen/ceil_div.h>

隨后進行代碼替換:


//dim3 grid(std::min(THCCeilDiv(**, 512L), 4096L));
dim3 grid(std::min(at::ceil_div(**, 512), 4096));

即可實現(xiàn)與上面方法相同的修改。

--2023.10.5--

Q3 THCudaMalloc、THCudaFree THCState undefined

這三個問題本質(zhì)是一個問題,就是在更新過程中pytorch不再需要malloc和free,也自然不需要state用于幫助申請空間。這里參考了PyTorch 1.11 發(fā)布,帶來 TorchData 和 functorch 兩個新庫_支持_linalg_Tensor (sohu.com)和(138條消息) 項目環(huán)境由pytorch1.10升級1.11中間要改的東西_pytorch1.11和1.10_小隨風(fēng)_hi的博客-CSDN博客兩個文檔,其中后一個文檔的2成功幫助我解決了Q3這個問題。其實就是庫廢掉了,需要換一下使用的函數(shù)。

首先在用到Malloc和Free函數(shù)的文件中加入頭文件

(有可能需要將THCThrustAllocator.cuh替換為該文件或直接include)


#include <ATen/cuda/ThrustAllocator.h>

與之相關(guān)的共有三個語句,分別為用THCState構(gòu)建一個state,再將state輸入Malloc函數(shù)生成空間,隨后通過free釋放掉上述空間。

此處我們注釋掉THCState這句話,因為在新的pytorch中不需要使用該數(shù)據(jù)類型來生成Malloc所需空間。


THCState *state = at::globalContext().lazyInitCUDA(); // TODO replace with getTHCState

之后我們將THCudaMalloc按照下文的形式修改(舊函數(shù)第二個參數(shù)作為新函數(shù)的唯一參數(shù))


//mask_dev = (unsigned long long*) THCudaMalloc(state, boxes_num * col_blocks * sizeof(unsigned long long));
mask_dev = (unsigned long long*) c10::cuda::CUDACachingAllocator::raw_alloc(boxes_num * col_blocks * sizeof(unsigned long long));

THCudaFree的替換方式如下:


// THCudaFree(state, mask_dev);
c10::cuda::CUDACachingAllocator::raw_delete(mask_dev);

注意一定要在最前面include一下ThrustAllocator.h頭文件,否則會報錯!

至此,上述問題全部解決,沒有降低pytorch版本即可解決問題。我需要的內(nèi)容也成功編譯。

對于THC本身,在這個過程中我也了解了一下,可移步參考(138條消息) PyTorch源碼淺析(2):THC_邵政道的博客-CSDN博客_thcstate。不過這個也是過去式了,了解下就好了。還是要向前看的。

若后續(xù)還有什么新的相關(guān)內(nèi)容再更新一下子吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-715255.html

到了這里,關(guān)于Maskrcnn/Faster-rcnn依賴項安裝過程中THC.h: No such file or directory/THCeilDiv Undefined/分配內(nèi)存空間等問題的解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 遙感影像目標(biāo)檢測:從CNN(Faster-RCNN)到Transformer(DETR)

    遙感影像目標(biāo)檢測:從CNN(Faster-RCNN)到Transformer(DETR)

    我國高分辨率對地觀測系統(tǒng)重大專項已全面啟動,高空間、高光譜、高時間分辨率和寬地面覆蓋于一體的全球天空地一體化立體對地觀測網(wǎng)逐步形成,將成為保障國家安全的基礎(chǔ)性和戰(zhàn)略性資源。未來10年全球每天獲取的觀測數(shù)據(jù)將超過10PB,遙感大數(shù)據(jù)時代已然來臨。隨著小

    2024年02月22日
    瀏覽(26)
  • 基于Pytorch構(gòu)建Faster-RCNN網(wǎng)絡(luò)進行目標(biāo)檢測(二)——預(yù)訓(xùn)練模型和預(yù)測

    基于Pytorch構(gòu)建Faster-RCNN網(wǎng)絡(luò)進行目標(biāo)檢測(二)——預(yù)訓(xùn)練模型和預(yù)測

    CoCo的全稱是Common Objects in Context,是微軟團隊提供的一個可以用來進行圖像識別的數(shù)據(jù)集,包括檢測、分割、關(guān)鍵點估計等任務(wù),目前用的比較多的是Coco2017數(shù)據(jù)集。 Coco2017數(shù)據(jù)集是一個包含有大量圖像和標(biāo)注數(shù)據(jù)的開放數(shù)據(jù)集,它是微軟公司在COCO項目基礎(chǔ)上發(fā)展而來。這個

    2024年02月09日
    瀏覽(27)
  • 從R-CNN到Faster-RCNN再到Y(jié)OLOV5,目標(biāo)檢測網(wǎng)絡(luò)發(fā)展概述

    從R-CNN到Faster-RCNN再到Y(jié)OLOV5,目標(biāo)檢測網(wǎng)絡(luò)發(fā)展概述

    ?R-CNN由Ross Girshick于2014年提出,R-CNN首先通過 選擇性搜索算法Selective Search 從一組對象候選框中選擇可能出現(xiàn)的對象框,然后將這些選擇出來的對象框中的圖像resize到某一固定尺寸的圖像,并喂入到 CNN模型 (經(jīng)過在ImageNet數(shù)據(jù)集上訓(xùn)練過的CNN模型,如AlexNet)提取特征,最后將

    2024年02月05日
    瀏覽(23)
  • 目標(biāo)檢測前言,RCNN,F(xiàn)ast RCNN,F(xiàn)aster RCNN

    目標(biāo)檢測前言,RCNN,F(xiàn)ast RCNN,F(xiàn)aster RCNN

    找到概率最高的目標(biāo)之后,與其他目標(biāo)進行IOU交并比計算,若高于一定值,則說明這兩張圖片預(yù)測的是同一個目標(biāo),則把概率低的目標(biāo)刪掉 因為是直接得到特征圖之后進行映射,所以不限制輸入圖像尺寸 Gx,Gy是調(diào)整中心點,Dx(P)是回歸參數(shù),exp就是e的多少次方 從提取到的

    2024年02月07日
    瀏覽(40)
  • 目標(biāo)檢測——Faster RCNN

    目標(biāo)檢測——Faster RCNN

    Faster RCNN是由 R-CNN、Fast R-CNN 改進而來,是非常經(jīng)典的目標(biāo)檢測的兩階段網(wǎng)絡(luò)。 此篇博客是我通過學(xué)習(xí)以下優(yōu)秀博客歸納整理而得: 一文讀懂Faster RCNN - 知乎 Faster R-CNN詳解和網(wǎng)絡(luò)模型搭建 - 知乎 Faster R-CNN:詳解目標(biāo)檢測的實現(xiàn)過程 - 郭耀華 - 博客園 yolov5與Faster-RCNN 訓(xùn)練過程

    2024年02月06日
    瀏覽(33)
  • Faster RCNN在pycharm中運行

    Faster RCNN在pycharm中運行

    參考B站up主:霹靂吧啦Wz git clone https://github.com/WZMIAOMIAO/deep-learning-for-image-processing 首先找到faster_rcnn ├── backbone: 特征提取網(wǎng)絡(luò),可以根據(jù)自己的要求選擇 ├── network_files: Faster R-CNN網(wǎng)絡(luò)(包括Fast R-CNN以及RPN等模塊) ├── train_utils: 訓(xùn)練驗證相關(guān)模塊(包括cocotools) ├

    2024年02月03日
    瀏覽(17)
  • Faster RCNN模型如何自定義損失函數(shù)

    /lib/model/faster_rcnn/faster_rcnn.py /lib/model/faster_rcnn/resnet.py 與1.2同理 1.4.1 模型代碼:/lib/model/faster_rcnn/faster_rcnn.py,/lib/model/faster_rcnn/resnet.py,/lib/model/faster_rcnn/vgg16.py 1.4.2 訓(xùn)練代碼:trainval_net.py 1.4.3 測試代碼:test_net.py 1.4.4 運行參數(shù)代碼:libmodelutilsparser_func.py 修改/lib/model/fa

    2023年04月17日
    瀏覽(19)
  • 基于Faster rcnn pytorch的遙感圖像檢測

    基于Faster rcnn pytorch的遙感圖像檢測

    代碼:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0 使用RSOD遙感數(shù)據(jù)集,VOC的數(shù)據(jù)格式如下: RSOD是一個開放的目標(biāo)檢測數(shù)據(jù)集,用于遙感圖像中的目標(biāo)檢測。數(shù)據(jù)集包含飛機,油箱,運動場和立交橋,以PASCAL VOC數(shù)據(jù)集的格式進行標(biāo)注。 數(shù)據(jù)集包括4個文件夾,每個文件夾

    2024年02月06日
    瀏覽(51)
  • Faster RCNN訓(xùn)練自己的數(shù)據(jù)集【傻瓜式教程】

    Faster RCNN訓(xùn)練自己的數(shù)據(jù)集【傻瓜式教程】

    本文采用的源碼是:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3 由于本文是小白教程,光寫幾個環(huán)境怕有人配置不好或者配置版本搞亂。Faster RCNN配置環(huán)境比較復(fù)雜。我在這直接貼圖我的環(huán)境版本圖: 先安裝tensorflow-gpu,然后依次安裝cython、opencv-python、easydict、Pillow、matplot

    2024年02月02日
    瀏覽(24)
  • GIS之深度學(xué)習(xí)10:運行Faster RCNN算法

    GIS之深度學(xué)習(xí)10:運行Faster RCNN算法

    (未完成,待補充) 獲取Faster RCNN源碼 (開源的很多,論文里也有,在這里不多贅述) 替換自己的數(shù)據(jù)集(圖片+標(biāo)簽文件) (需要使用labeling生成標(biāo)簽文件) 打開終端,進入gpupytorch環(huán)境 運行voc_annotation.py文件生成與訓(xùn)練文件 ?結(jié)果所示: 運行:train.py文件 ?終端/編碼器運

    2024年03月13日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包