• pytorch算力与有效性分析


    pytorch

    Windows中安装深度学习环境

    参考文档

    Windows端pytorch镜像快速安装
    https://blog.csdn.net/Thebest_jack/article/details/123455215?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167150520516800215058539%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167150520516800215058539&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~hot_rank-9-123455215-null-null.142v68pc_rank_34_queryrelevant25,201v4add_ask,213v2t3_control2&utm_term=windows%203080%20%20pytorch%20&spm=1018.2226.3001.4187

    机器环境说明

    3080机器 Windows11

    CUDA cuda_11.1.0_456.43_win10
    CUDNN cudnn-11.1-windows-x64-v8.0.5.39
    Python3.9

    多个虚拟环境

    qt_env 满足遥感CS软件分割、目标检测、变化检测的需要
    组件名称组件版本信息其他说明
    torch1.8.0+CU111因为需要满足stanet的代码运行要求,所以不能超过1.8.0
    torchvision0.9.0+CU111
    visdim0.2.3
    GDAL3…1.4
    gtrs 主要是为了满足遥感监测管理平台(BS)系统使用的,无深度学习环境内容
    swin_env 与 qt_env 基本一致

    在swin_env 的基础上安装mmcv
    https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
    ./mmcv_full-1.6.1-cp39-cp39-win_amd64.whl

    od 用于慧眼守土目标检测服务的,与qt_env基本一致,比其高0.0.1

    1080机器

    3060机器

    算力分析

    RTX 3080 12 GB显卡发布:8960个CUDA。
    NVIDIA GeForce RTX 3080 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
    在这里插入图片描述
    NVIDIA GeForce RTX 3080 Ti with CUDA capability sm_86意思是RTX 3080 Ti的算力是8.6,而当前安装好的pytorch最高只支持到7.5算力的显卡,也就是说显卡算力和pytorch版本不匹配。要测试显卡算力与当前pytorch是否匹配,可以进入python命令行,依次输入如下两行代码:

    import torch
    torch.zeros(1).cuda()
    
    • 1
    • 2

    ————————————————
    版权声明:本文为CSDN博主「zeeq_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_44120025/article/details/121747212

    查看CUDA信息

    NVIDIA-smi
    在这里插入图片描述
    这个方法不对,这里的11.6 指的是可驱动的最高版本,下载CUDA的版本应低于11.6。

    正确的方法应该是:
    nvcc -V
    在这里插入图片描述
    前者可以查看到信息,而后者查看不到的原因是?
    https://blog.csdn.net/baidu_30506559/article/details/121908428?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-121908428-blog-125822005.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-121908428-blog-125822005.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=2

    CUDA/CUDA toolkit(pytorch)等区别和关系

    一、CUDA/cudnn/CUDA Toolkit/NVCC区别简介
    参考 Pytorch 使用不同版本的 cuda

    CUDA:为“GPU通用计算”构建的运算平台。
    cudnn:为深度学习计算设计的软件库。
    CUDA Toolkit (nvidia): CUDA完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。
    CUDA Toolkit (Pytorch): CUDA不完整的工具安装包,其主要包含在使用 CUDA 相关的功能时所依赖的动态链接库。不会安装驱动程序。
    (NVCC 是CUDA的编译器,只是 CUDA Toolkit 中的一部分)
    注:CUDA Toolkit 完整和不完整的区别:在安装了CUDA Toolkit (Pytorch)后,只要系统上存在与当前的 cudatoolkit 所兼容的 Nvidia 驱动,则已经编译好的 CUDA 相关的程序就可以直接运行,不需要重新进行编译过程。如需要为 Pytorch 框架添加 CUDA 相关的拓展时(Custom C++ and CUDA Extensions),需要对编写的 CUDA 相关的程序进行编译等操作,则需安装完整的 Nvidia 官方提供的 CUDA Toolkit。
    ————————————————
    版权声明:本文为CSDN博主「健0000」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_41094058/article/details/116207333

    Nvidia的CUDA和CUDNN下载地址

    • CUDNN 下载:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse805-111
    • CUDA历史版本下载:https://developer.nvidia.com/cuda-toolkit-archive

    Nvidia的CUDA和CUDNN的安装及检测方法

    https://blog.csdn.net/yang4123/article/details/127188279

    环境安装

    第一步:历史的版本,在这边:https://pytorch.org/get-started/previous-versions/
    第二步:找到对应的语句:
    pip3 install torch1.8.1+cu111 torchvision0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
    RTX3080需要用到CUDA11.1
    第三步:然后去到网址下手工下载下来,然后pip手动安装;

    测试环境的准确性代码

    import torch
    import time
    import torchvision
    torch.zeros(1).cuda()
    # RTX 3080的算力是8.6,但是当前的PyTorch依赖的CUDA版本支持的算力只有3.7、5.0、6.0、6.1、7.0、7.5及3.7以下
    
    
    # 测试gpu计算耗时
    A = torch.ones(5000, 5000).to('cuda')
    B = torch.ones(5000, 5000).to('cuda')
    startTime2 = time.time()
    for i in range(100):
        C = torch.matmul(A, B)
    endTime2 = time.time()
    print('gpu计算总时长:', round((endTime2 - startTime2) * 1000, 2), 'ms')
    
    # 测试cpu计算耗时
    A = torch.ones(5000, 5000)
    B = torch.ones(5000, 5000)
    startTime1 = time.time()
    for i in range(100):
        C = torch.matmul(A, B)
    endTime1 = time.time()
    print('cpu计算总时长:', round((endTime1 - startTime1) * 1000, 2), 'ms')
    
    print("test")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    stanet

    stanet 环境不能超pytorch1.8版本 CUDA 10.2 pythorch 1.8 torchversion 0.9 torchaudio 0.8
    stanet报错 RuntimeError: The size of tensor a (64) must match the size of tensor b (3) at non-singleton dimension 1 图片格式的问题,必须是png
    从这边去作查询:https://download.pytorch.org/whl/torch_stable.html
    conda install pytorch1.8.1 torchvision0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge
    运行 STANET
    Gevent 是一个协作式多任务库。它的工作方式是您,程序员,将您的代码组织成称为 greenlets 的工作单元。当给定的 greenlet 正在运行时,它会单独运行。当它到达一个会阻塞的点时,也就是说,它必须等待一些外部信号,如文件、超时、我们的网络数据,greenlet 应该通过向 gevent 发送信号来进行合作,gevent 会安排其他一些 greenlet 运行。
    ————————————————
    版权声明:本文为CSDN博主「不瘦8斤的妥球球饼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_43570470/article/details/124985575
    @pytorch_wrap
    image_numpy.transpose
    Collection.OrderedDict
    assert
    修改可视化版本visdom=0.1.8.8;
    scipy=1.1.0:因为1.2.0版本的scipy没有 imread,也会报错。
    pip install scipy -i https://pypi.douban.com/simple/
    visdom

    Linux环境中安装深度学习环境

    Linux 基础回顾

    1.Linux的特点:免费,开源,高性能;
    2.1999年RedHat得到IBM的合作,意味着大公司承认他了;之后Oracle,sun 等大公司都支持
    3.为了节约成本,会有大量的window程序迁移到Linux。
    4.Linux最小需要4M,而win98 64M,XP128M
    5.学东西很多东西可以看一看,但是不能什么都研,有一门就可以了。
    第十讲:
    1.网络邻居可以解决两个win操作系统的网络文件共享;而 win和Linux两台机器的文件共享 怎么办 ,通过Samba服务安装后,使得linux文件可以共享
    2.什么是shell 所有命令都会被系统重新解析成linux内核可以识别的工具,就是shell 用户输入命令只是shell使用的一个方面 里面还有代码开发,使用shell编程相当于dos的批处理文件 。在一个linux 中装了几种shell

    大陆一般用的是 /bin/sh 欧洲常用 /bin/ksh
    如何修改shell
    a 查看目前使用的是哪种shell env (该命令用于查看环境变量 ) 用于查看明确操作系统的情况呢
    b 修改 使用的 shell chsh -s /bin/csh
    3.命令补全功能 :非常有用,

    Linux挂载
    1.首先将window 文件制作成为 iso文件 ;
    2.挂载iso 文件;
    3.启动Linux系统;
    4. 在Root用户下,运行: mount -o loop /dev/cdrom /mnt
    之后ls /mnt

    6.安装tgz文件,tar -zxvf 文件名

    有三种方法助你走进Ubuntu新世界。

    虚拟机安装 原料:Ubuntu Kylin的ISO、VMware或VirtualBox 优点:一条龙服务,安全简单 缺点:用户体验差,隔靴搔痒
    Wubi安装 原料:Ubuntu Kylin的ISO、wubi.exe 优点:即点即用,默认Windows开机引导 缺点:易死机,待机和网络易出问题
    U盘安装 原料:Ubuntu Kylin的ISO、UltraISO、EasyBCD、U盘(>=2G) 优点:简单安全,正牌双系统 缺点:默认Ubuntu开机引导;

    http://www.manongjc.com/detail/51-eaztavmgwijzwka.html

    切换输入法

    Ubuntu中切换中/英文输入法是:win键+空格键
    安装输出法
    https://blog.csdn.net/weiguang102/article/details/122522271
    全局变量的设置方法
    https://blog.csdn.net/weixin_42306148/article/details/122149712
    sudo gedit ~/.bashrc
    export PATH=“/home/name/anaconda3/bin:$PATH”

    Ubuntu 下安装深度学习环境

    整体

    CSDN 上高查看率的文档:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166608764016782391841005%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166608764016782391841005&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~hot_rank-1-82753403-null-null.142v58control_1,201v3control&utm_term=ubuntu18.04%20%20gtx1080ti%20pytorch&spm=1018.2226.3001.4187
    python3.8:
    下图发现Ubuntu18.04自带Python3.6与2.7版本。要再安装一个3.8的版本 参考https://blog.csdn.net/m0_55986434/article/details/123410860 可以切换优先级 数字越大优先级越高;
    anaconda
    主要参考了:https://blog.csdn.net/KIK9973/article/details/118772450 使用的版本是2021-5的,不要用太老的, 此外是从清华的源上面下载的https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
    安装的地质:gtis/home/anaconda3下,安装的过程实际上是解压包的过程;
    需要添加环境变量
    https://www.csdn.net/tags/Mtjagg2sMjA4ODQtYmxvZwO0O0OO0O0O.html
    显卡驱动470 11.4 这个实际是无效的,要用nvcc -V来查看实际的cuda的版本信息;
    自动走系统更新的;
    CUDA10.2
    主要参考:https://blog.csdn.net/hongyiWeng/article/details/121233439,采用的安装方式是wget;
    会出现s段错误的问题
    https://blog.csdn.net/weixin_54787250/article/details/125648992
    每次到99%的时候就自动报错了,这是一个非常尴尬的事情;
    https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
    安装的时候需要把dirver给去除掉,不然会报错的; https://blog.csdn.net/hongyiWeng/article/details/121233439
    cudnn 8.2.2
    主要参考:https://blog.csdn.net/mao_hui_fei/article/details/121140152
    注册的用户名和密码 zhouxinxin@njupt.edu.cn zxxGtis@123
    安装deb的方法
    https://javaforall.cn/143820.html

    pytorch 的相关安装
    https://pytorch.org/get-started/previous-versions/

    CUDA 10.2

    conda install pytorch1.12.0 torchvision0.13.0 torchaudio==0.12.0 cudatoolkit=10.2 -c pytorch
    系统:Ubuntu18.04 桌面版
    显卡:GTX1080 Ti

    这个方案太高了;
    pytorch 直接在线安装会下载高版本的,用不了,需要用低版本的;

    pip install torch1.8.1+cu111 torchvision0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

    xmanager 连不上 是因为网络服务ssh没有开通

    Failed to start sshd.service: Unit sshd.service not found.
    https://blog.csdn.net/TanCairo/article/details/104363915
    主要是因为防火墙没有关闭

    在linux桌面上创建程序执行的图标

    https://blog.csdn.net/hgq522/article/details/121326710?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-121326710-blog-126240505.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-121326710-blog-126240505.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=1

    linux 运行SVN

    https://blog.csdn.net/sinolover/article/details/121244587
    svn checkout https://218.94.2.162:6001/svn/jsfzzx/技术发展中心科研组/63-GeoAI2022/02GeoAI_Sub_Projects/Model_Baseline
    zxx
    zhouxinxin
    gtis

    测试GPU是否可以用?

    https://jamesbobo.blog.csdn.net/article/details/103116903?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-103116903-blog-122089421.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-103116903-blog-122089421.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=2
    代码已经写了,位置在:
    /home/gtis/002project/001linux_learn/test_cuda.py

    启动深度学习模型训练

    会出现电脑自动重启的情况,此时需要设置降低GPU 的功率
    https://blog.csdn.net/weixin_43587572/article/details/116201354

    特定的网络

    STANET

    visdom安装与可视化

    https://blog.csdn.net/weixin_44751294/article/details/115329162

    Pytorch 知识点

    BCWH

    [batch_size,channels,width,hight]

    pytorch中文帮助文档

    https://pytorch-cn.readthedocs.io/zh/latest/package_references/functional/#distance-functions

    visdom安装与基本用法

    https://blog.csdn.net/weixin_44751294/article/details/115329162
    python -m visdom.server
    http://localhost:8097

    pip install 安装包

    pip install -U scikit-learn -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    pip install scipy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

    conda 常用命令

    克隆/复制虚拟环境:想在之前环境基础上再填点其他东西,但有时候会发生一些情况改变以前的环境,建议再创建一个新的环境或者直接clone一份之前的环境(推荐)。

    conda create -n new_env --clone exist_env
    new_env 是自己新创建的虚拟环境名称
    exist_env 是被复制的已经存在的环境名称
    一定要看清楚,new_env 在克隆之前 是不存在的。 exist_env虚拟环境在克隆之前是存在的。
    ————————————————
    版权声明:本文为CSDN博主「Vertira」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Vertira/article/details/128089206

    虚拟环境删除

    conda remove -n 虚拟环境名称 --all

    查看源信息
    conda config --show-sources

    恢复源的出厂设置
    conda config --remove-key channels

    添加新的源地址

    添加清华镜像源

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

    搜索时显示地址

    conda config --set show_channel_urls yes

    查看源信息
    conda config --show-sources
    恢复源的出厂设置
    conda config --remove-key channels
    添加新的源地址

    添加清华镜像源

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

    搜索时显示地址

    conda config --set show_channel_urls yes
    设置源ssl验证为false
    conda config --set ssl_verify false
    创建指定python版本的虚拟环境
    conda create -n orclconn34 python=3.4

    1.问题描述
    window10环境下,使用Anaconda安装相关依赖包时,报错:Caused by SSLError("Can’t connect to HTTPS URL because the SSL module is not available)
    2.解决办法
    原因是anaconda没有安装好,环境变量没有配置成功,需要添加三条环境变量;
    E:\anaconda;
    E:\anaconda\Scripts;
    E:\anaconda\Library\bin

    虚拟环境拷贝后提示有致命错误

    https://blog.csdn.net/PSpiritV/article/details/122993602?ydreferer=aHR0cHM6Ly93d3cuYmFpZHUuY29tL2xpbms%2FdXJsPWhvb0FhNW1UQTRKd3NpbGw2ZDRTTXA5ckdtLWFIVjBvT2d4VGVhU2dJeVB1eERucTZSRnd1WksxX0ZNVW83a1R5ODJUZUhTeXNQeFpwZ1doXzh3anh5OV9CSWszRElMaXNnWlVFZHNjdFVlJndkPSZlcWlkPWI2NGY1ZWY3MDAwOTJkYmEwMDAwMDAwNDY0MmFhNDBm
    在新地址中激活虚拟环境,然后使用命令【python -m pip install --upgrade --force-reinstall pip】

    常见报错

    “OSError: [WinError 1455]页面文件太小,无法完成操作。”

    https://blog.csdn.net/weixin_46133643/article/details/125042903

    mklink

    link(生成的文件夹链接) target(原来的文件夹)
    mklink /J “D:\test1” “E:\test1”
    mklink /J “E:\002code_running\01GeoAI_Main_Project\01Code\universal_platform\ai_detection\model” “E:\003AI_models\地理智能引擎2.0模型\model”

    重要的参考库和URL

    • 影像变化检测awesome: https://github.com/wenhwu/awesome-remote-sensing-change-detection
    • 影像分割awesome: https://github.com/Tramac/awesome-semantic-segmentation-pytorch 这个代码值得一试;
    • 影像分割:https://gitee.com/chinawindofmay/awesome-semantic-segmentation#datasets
    • 商汤MMSegmentation:https://github.com/open-mmlab/mmsegmentation
    • 百度paddle rs: https://github.com/PaddlePaddle/PaddleRS
    • 百度paddle seg:https://github.com/PaddlePaddle/PaddleSeg
    • 遥感的各种数据集
      https://github.com/PaddleCV-SIG/PaddleRS/blob/develop/docs/data/dataset_summary.md
    • 变化检测数据集
      主要资源可以从sigma网站获取;http://sigma.whu.edu.cn/resource.php
      https://zhuanlan.zhihu.com/p/391557545?ivk_sa=1024320u
    • 传统变化检测方法 https://github.com/abhijeet3922/Change-Detection-in-Satellite-Imagery
    • 变化检测高分值网站:https://github.com/dgtlmoon/changedetection.io
    • swintransformer的微软项目地址:https://github.com/microsoft/Swin-Transformer
    • imagenet数据集的地址: http://image-net.org/
    • mini imagenet数据集下载地址:https://lyy.mpi-inf.mpg.de/mtl/download/Lmzjm9tX.html
  • 相关阅读:
    信息量为什么要表示成对数的形式——问题整理
    Oracle数据库:链接配置,包括sqlnet.ora里面的transnames.ora配置数据库标识符SID,listener暂时简单了解
    3、计划工具 - 编程实战工具系列文章
    基于强化学习的自动化红队测试计划构建与验证
    使用 git cherry-pick 命令可以将指定的提交从一个分支移动到另一个分支
    基于Pytorch框架的LSTM算法(二)——多维度单步预测
    Mysql---子查询的三种查询方式( 表子查询,条件子查询,列中子查询)
    驱动加载module license ‘unspecified‘ taints kernel问题
    同花顺_代码解析_技术指标_B
    【报错】django.db.migrations.exceptions.NodeNotFoundError:
  • 原文地址:https://blog.csdn.net/zhouxinxin111/article/details/128380682