吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2105|回复: 5
收起左侧

[Python 转载] 【python】纯小白deep-high-resolution-net.pytorch安装避坑

[复制链接]
风景怡 发表于 2022-8-14 22:03
本帖最后由 风景怡 于 2022-8-14 22:41 编辑

事先声明本人纯小白,本帖子也只是对本人在安装deep-high-resolution-net.pytorch的过程中遇到的一些坑的一个梳理和问题的解决,方便后续的人不要再踩坑了。大佬请直接无视!
    前段时间突然对机器视觉很感兴趣。。。于是就有了接下来的操作。。。。
    但是deep-high-resolution-net.pytorch这东西真是个巨坑,我本人又属于是小白类型的,整个安装过程十分曲折,终于在研究了几天之后让我给搞定了。
   注意:如果不是因为达的显卡就不用再向下看了,因为需要调用CUDA核心来加速运算
1.安装deep-high-resolution-net.pytorch
        安装还是很简单的【deep-high-resolution-net.pytorch】是github上的开源项目,直接使用下面的代码可以直接进行克隆。GitHub地址在这里,里边有官方的说明文档,可以参考
         (1)打开CMD工具,然后cd 到你想要安装的目录下,在cmd中输入下面的代码就可以进行直接克隆github上的源码了
                   这里我选择的是D盘输入命令
[Shell] 纯文本查看 复制代码
cd /d d:\
,接着输入
                        
[Shell] 纯文本查看 复制代码
git clone https://github.com/leoxiaobin/deep-high-resolution-net.pytorch.git

                       

从github安装

从github安装

           如果提示“git不是内部外部命令也不是执行程序”那说明你的电脑上没有安装git,需要的的话可以去官网下载安装一个链接在这里,选择你对应的版本就行了
            (2)如果电脑上没有安装git工具又懒得安装的,或者链接不上GitHub的可以直接通过网盘下载       链接:https://pan.baidu.com/s/1DQfVR6EvsDS8vTPpk7aQ9w 提取码:42ge
                   网盘下载以后选择一个你喜欢的目录直接解压就行




2.巨坑一、运行环境的选择
       原作者的环境  ubantu 16.4 (巨坑)使用 python 3.6 开发的(坑),使用了4块nVidia的显卡(巨坑)
     
     我的环境      win10   python3.6.7  显卡RTX2060  
       我安装的第三方库
               torch==1.0.0  (重点,需要选择跟你电脑对应的版本后边会讲)
               torchvision==0.2.0  (重点)
               EasyDict==1.7
               opencv-python==3.4.1.15
               shapely==1.6.4
               Cython
               scipy
               pandas
               pyyaml
               json_tricks
               scikit-image
               yacs>=0.1.5
               tensorboardX==1.6
      
    原本的电脑上安装的python版本是python3.9,但是不支持torch1.0.0,【deep-high-resolution-net.pytorch】需要torch1.0.0的版本才能运行,其他版本会报错(我尝试了torch1.12.1、torch1.2.0、torch1.7.1效果都不好)
        后来无奈换成了python3.6.7版本。注意:如果你的电脑中有多个版本的python的话后续安装torch可能会报错。
        这里我个人建议安装python3.6如果之前有安装过其他版本的一定要卸载干净




3.CUDA的安装
(1)CUDA的安装
        如果你的显卡属于以下类型的话需要安装CUDA10.0,如果不是建议安装9.0。千万不要两个都装会报错的
GeForce GTX 1650
GeForce GTX 1660
GeForce GTX 1660 Ti
GeForce RTX 2060
GeForce RTX 2060 Super
GeForce RTX 2070
GeForce RTX 2070 Super
GeForce RTX 2080
GeForce RTX 2080 Super
GeForce RTX 2080 Ti
Titan RTX
Quadro RTX 4000
Quadro RTX 5000
Quadro RTX 6000
Quadro RTX 8000
Tesla T4

     选择一个适合你自己显卡的CUDA进行安装
        CUDA9.0英伟达官网链接在这里
        CUDA10.0英伟达官网链接在这里
           不想从官网下载的可以从百度网盘下载   
         CUDA10.0   链接:https://pan.baidu.com/s/10zCCzcF-qiMc9PpuVOmFGw 提取码:64o2
         CUDA9.0     链接:https://pan.baidu.com/s/1tCmcKPTm0SPsze2GrhXTpQ  提取码:mefw
        选择好以后下载安装就行

CUDA下载

CUDA下载

       安装完成后会自动添加环境变量,不过保险起见还是再检查一下
       右键点击此电脑-->属性-->高级系统设置-->环境变量
       主要查看CUDA_PATH有没有添加上,变量值就是你CUDA的安装目录,例如我的就是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

用户变量和系统变量建议都设置一下,不然有时候会出现一些莫名奇妙的BUG。CUDA_HOME这个好像并不影响后续的使用,如果没有也是不要紧的

CUDA环境变量

CUDA环境变量

    安装完成以后在CMD输入
[Shell] 纯文本查看 复制代码
nvcc --version
     
如果出现版本号证明已经安装成功了

查询CUDA版本

查询CUDA版本



(2)安装cuDNN
         去官网点这里,选择对应的cuDNN版本

cudnn下载

cudnn下载

        选择与你安装的CUDA版本相对应的cuDNN版本进行下载,下载完成后解压将其中的文件复制到CUDA的安装目录
        修改host_config.h文件
        前往你CUDA的安装目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include\crt\host_config.h,可以用记事本打开
         微信图片_20220814211555.jpg
          将141行的数值修改为2500,原文件该数值为1932还是几来着我忘记了,这个数值的意思是你的Visual Studio的_MSC_VER值,需要将该数值修改的大一点。如果此处不改后边同样会报错。错误信息类似

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include\crt/host_config.h(143): fatal error C1189: #error: – unsupported Microsoft Visual Studio version! Only the versions between 2013 and 2017 (inclusive) are supported!
        


         至此CUDA的安装完成





4.torch库的安装(坑)
         pytorch官网链接在这里
         torch库的下载链接在这里,进去以后向下拉会找到这样一个文件。

cu100/torch-1.0.0-cp36-cp36m-win_amd64.whl


       cu100代表你的CUDA版本为10.0,cp36代表你的python版本为3.6,win_amd64代表你的系统为Windows,64位系统
微信图片_20220814182733.jpg
         这里我已经准备好了文件百度链接在这里链接:https://pan.baidu.com/s/1YYZQLhyCMEgF0jXGZPQnxA  提取码:3wnr
         CUDA其他版本的以及python其他版本的、系统其他版本的请前往官网自行下载
        下载完成后打开CMD,cd到你下载torch的那个文件夹下,然后在CMD中输入下面的代码,就能够离线安装torch了
           
[Shell] 纯文本查看 复制代码
pip install torch-1.0.0-cp36-cp36m-win_amd64.whl

        例如我的下载目录是“C:\Users\17309\Downloads”

微信图片_20220814184456.jpg
        安装完torch以后,再使用pip命令安装torchvision==0.2.0,运行下列代码即可
        
[Shell] 纯文本查看 复制代码
pip install torchvision==0.2.0





5.其他第三方库的安装
         这里可以直接使用pip命令进行安装,不用多说什么

         
[Shell] 纯文本查看 复制代码
          pip install EasyDict==1.7         
          pip install opencv-python==3.4.1.15
          pip install shapely==1.6.4
          pip install Cython
          pip install scipy
          pip install pandas
          pip install pyyaml
          pip install json_tricks
          pip install scikit-image
          pip install yacs==0.1.5
          pip install tensorboardX==1.6
          




6.Visual Studio 2017的下载
       这里必须要安装Visual Studio因为某些模块是使用C++进行编译的,如果没有的话后续编译cocoapi和deep-high-resolution-net.pytorch会报错。
       版本的话建议选择Visual Studio 2017,版本太高也不太好
       这里我准备了百度盘地址供大家下载   链接:https://pan.baidu.com/s/1vVn4rRHfXJbIFZ2v8oTTBA 提取码:5qus
       安装的时候选择这三个就行了

微信图片_20220814190036.jpg 微信图片_20220814190118.jpg




7.制作库(编译)(巨坑)
         原作者是在ubantu系统下测试的,官方说明文档是用的是make命令,但是widows下没有这个命令
         还好在github上有如下解决方式

微信图片_20220814190628.jpg 微信图片_20220814190825.jpg
          对这三个文件进行了修改,即可运行
          我已经修改过了附上修改后的文件  链接:https://pan.baidu.com/s/1ENFCo_l6H7TqCpcGT1pStw 提取码:z1j2
          百度网盘下载后直接复制到deep-high-resolution-net.pytorch的根目录进行替换,然后在pychram或者在CMD直接运行“build_windows.bat”即可完成编译安装







8.COCOAPI的安装(坑)
       (1)安装cocoapi
               可以使用git命令来直接克隆github上的开源文件
               
[Shell] 纯文本查看 复制代码
git clone https://github.com/cocodataset/cocoapi.git

               或者通过我的网盘下载  链接:https://pan.baidu.com/s/1NqdqT5_zpuW1--cO7GpSWw 提取码:ffcl
                   下载后解压到你喜欢的任意目录即可进行下一步
       (2)编译cocoapi
               问题同上cocoapi同样是在liunx上编写的,也需要make命令,如果我们在window上直接运行“python setup.py build_ext --inplace”的话,会报错
               此时需要修改xx\cocoapi\PythonAPI中的setup.py中的第12行。此处的xx指代的是你cocoapi的盘符

                  
[Python] 纯文本查看 复制代码
extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'][/size]
[size=4]                     修改为
                    extra_compile_args={'gcc': ['/Qstd=c99']}

          修改之后再CMD中cd到cocoapi\PythonAPI运行下面的指令即可完成编译
[Shell] 纯文本查看 复制代码
python setup.py build_ext --inplace


            将编译好的pycocotools目录 拷到python的site-packages库目录即可,例如我的目录如下


C:\Users\17309\AppData\Local\Programs\Python\Python36\Lib\site-packages


9.COCO数据集下载(文件较大,需要耐心等待)
             在你的deep-high-resolution-net.pytorch文件夹下面再创建4个文件夹,文件夹名字分别是data、log、output、models。使文件结构如下图所示

${你的deep-high-resolution-net.pytorch文件夹}├── data
├── experiments
├── lib
├── log
├── models
├── output
├── tools
├── README.md
└── requirements.txt
         这里就不多讲了就是直接下载东西

data文件夹下需要的东西           链接:https://pan.baidu.com/s/1McBFXXxDYbihTJddb47kxQ  提取码:eeqs      
models文件夹下需要的东西       链接:https://pan.baidu.com/s/1hYj5TKshmJP5ykXyzFFC3A   提取码:min6        

上述两个文件夹有点大需要一些时间来下载,下载完成后有几点需要注意
        data\mpii文件夹下有一个名为images.tar.gz的压缩包,需要将其解压至该目录下同名的images文件夹中
        同理在data\coco\images文件夹下也有三个压缩包test2017.zip、val2017.zip、train2017.zip也需要将他们分别解压至该目录下的同名文件夹中
        最终文件结构如下图所示

coco文件夹


${你的deep-high-resolution-net.pytorch文件夹}
|-- data
`-- |-- coco
    `-- |-- annotations
        |   |-- person_keypoints_train2017.json
        |   `-- person_keypoints_val2017.json
        |-- person_detection_results
        |   |-- COCO_val2017_detections_AP_H_56_person.json
        |   |-- COCO_test-dev2017_detections_AP_H_609_person.json
        `-- images
            |-- train2017
            |   |-- 000000000009.jpg
            |   |-- 000000000025.jpg
            |   |-- 000000000030.jpg
            |   |-- ...
            `-- val2017
                |-- 000000000139.jpg
                |-- 000000000285.jpg
                |-- 000000000632.jpg
                |-- ...


mpii文件夹

${你的deep-high-resolution-net.pytorch文件夹}
|-- data
`-- |-- mpii
`-- |-- annot
| |-- gt_valid.mat
| |-- test.json
| |-- train.json
| |-- trainval.json
| `-- valid.json
`-- images
|-- 000001163.jpg
|-- 000003072.jpg


           补充:test2017.zip、val2017.zip、train2017.zip这三个压缩包中的图片是训练AI的重要数据来源,分别对应测试集、验证集、训练集。所以是必须下载的





10.COCO数据集的训练
         (1)训练之前的准备在experiments文件夹下有如下文件结构

├─coco
│  ├─hrnet
│  │      w32_256x192_adam_lr1e-3.yaml
│  │      w32_384x288_adam_lr1e-3.yaml
│  │      w48_256x192_adam_lr1e-3.yaml
│  │      w48_384x288_adam_lr1e-3.yaml
│  │
│  └─resnet
│          res101_256x192_d256x3_adam_lr1e-3.yaml
│          res101_384x288_d256x3_adam_lr1e-3.yaml
│          res152_256x192_d256x3_adam_lr1e-3.yaml
│          res152_384x288_d256x3_adam_lr1e-3.yaml
│          res50_256x192_d256x3_adam_lr1e-3.yaml
│          res50_384x288_d256x3_adam_lr1e-3.yaml

└─mpii
    ├─hrnet
    │      w32_256x256_adam_lr1e-3.yaml
    │      w48_256x256_adam_lr1e-3.yaml
    │
    └─resnet
            res101_256x256_d256x3_adam_lr1e-3.yaml
            res152_256x256_d256x3_adam_lr1e-3.yaml
            res50_256x256_d256x3_adam_lr1e-3.yaml

             这些后缀名为yaml的是配置文件,设置参数都是在这里边来进行配置的。
             因为原作者有4块GPU,所以我们需要对这些配置文件做如下修改,这里以“w32_256x192_adam_lr1e-3.yaml”文件为例
                微信图片_20220814213431.jpg 微信图片_20220814213435.jpg
               GPUS:代表了你的显卡数量我这里只有一块显卡,所以修改成了GPUS:(0,)
               原作者有4块显卡,所以他的是GPUS:(0,1,2,3)
               WORKERS:意思是要创建的线程数量,原作者创建了24个线程同时运行,我在我电脑上也试了,不行报错。我的CPU是I5-10400F,这里我使用8个线程感觉挺好。创建多个线程感觉对CPU的压力挺大,要是处理器不错的可以尝试按照24线程运行一下
                还有下边这个BATCH_SIZE_PER_GPU
微信图片_20220814214235.jpg
                这个先不用急着改可以待会尝试运行一下,如果提示如下错误
RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 6.00 G

           可以将32尝试降低为16,如果还报这个错误就继续降低,这个问题和显存有关,设置的数值越大吃的显存就越多

               
             (2)开始训练
                     cd到你的deep-high-resolution-net.pytorch根目录下分别执行下列代码
                   使用model zoo的模型对MPII数据集进行测试
[Shell] 纯文本查看 复制代码
 python tools/test.py --cfg experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml TEST.MODEL_FILE models/pytorch/pose_mpii/pose_hrnet_w32_256x256.pth

                   MPII数据集上的训练      
[Shell] 纯文本查看 复制代码
python tools/train.py  --cfg experiments/mpii/hrnet/w32_256x256_adam_lr1e-3.yaml

                   使用model zoo的模型对COCO val2017数据集进行测试
[Asm] 纯文本查看 复制代码
python tools/test.py --cfg experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml TEST.MODEL_FILE models/pytorch/pose_coco/pose_hrnet_w32_256x192.pth TEST.USE_GT_BBOX False

                   COCO train2017数据集训练
[Shell] 纯文本查看 复制代码
python tools/train.py --cfg experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml

                      在COCO val上可视化预测
[Shell] 纯文本查看 复制代码
python visualization/plot_coco.py --prediction output/coco/w48_384x288_adam_lr1e-3/results/keypoints_val2017_results_0.json --save-path visualization/results

                                            
            最后成功运行
            微信图片_20220814220218.jpg








免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
天机我泄露 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ICEY + 3 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

平淡最真 发表于 2022-8-15 00:34
搞个虚拟环境吧  3.67和你本身的3.9又不干涉
 楼主| 风景怡 发表于 2022-8-15 00:55
平淡最真 发表于 2022-8-15 00:34
搞个虚拟环境吧  3.67和你本身的3.9又不干涉

装过Anaconda后来卸载了,原因是安装某些模块报错,又不知道怎么解决,所以干脆卸载了
 楼主| 风景怡 发表于 2022-8-15 00:56
天机我泄露 发表于 2022-8-15 01:01
大佬牝!感谢分享!看下来就花了9分钟。不知道发布用了多久
virsnow 发表于 2022-10-4 12:15
这个很实用,谢谢分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-7 07:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表