pytorch算力与有效性分析

news2024/11/18 6:25:22

pytorch

  • Windows中安装深度学习环境
    • 参考文档
    • 机器环境说明
      • 3080机器 Windows11
        • qt_env 满足遥感CS软件分割、目标检测、变化检测的需要
        • gtrs 主要是为了满足遥感监测管理平台(BS)系统使用的,无深度学习环境内容
        • swin_env 与 qt_env 基本一致
        • od 用于慧眼守土目标检测服务的,与qt_env基本一致,比其高0.0.1
      • 1080机器
      • 3060机器
    • 算力分析
    • 查看CUDA信息
    • CUDA/CUDA toolkit(pytorch)等区别和关系
    • Nvidia的CUDA和CUDNN下载地址
    • Nvidia的CUDA和CUDNN的安装及检测方法
    • 环境安装
    • 测试环境的准确性代码
  • stanet
  • Linux环境中安装深度学习环境
    • Linux 基础回顾
    • 有三种方法助你走进Ubuntu新世界。
    • 切换输入法
    • Ubuntu 下安装深度学习环境
      • 整体
      • CUDA 10.2
    • xmanager 连不上 是因为网络服务ssh没有开通
    • 在linux桌面上创建程序执行的图标
    • linux 运行SVN
    • 测试GPU是否可以用?
    • 启动深度学习模型训练
  • 特定的网络
    • STANET
      • visdom安装与可视化
  • Pytorch 知识点
    • BCWH
    • pytorch中文帮助文档
    • visdom安装与基本用法
    • pip install 安装包
    • conda 常用命令
      • 克隆/复制虚拟环境:想在之前环境基础上再填点其他东西,但有时候会发生一些情况改变以前的环境,建议再创建一个新的环境或者直接clone一份之前的环境(推荐)。
      • 虚拟环境删除
  • 添加清华镜像源
  • 搜索时显示地址
    • 虚拟环境拷贝后提示有致命错误
    • 常见报错
      • “OSError: [WinError 1455]页面文件太小,无法完成操作。”
    • mklink
  • 重要的参考库和URL

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()

————————————————
版权声明:本文为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")

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

设置源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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1065250.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣第100题 相同的数 c++ 二叉 简单易懂+注释

题目 100. 相同的树 简单 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p [1,2,3], q [1,2,3] 输出…

代码随想录算法训练营第五十九天 | 动态规划 part 17 | 647. 回文子串、516.最长回文子序列

目录 647. 回文子串思路思路2 双指针代码 516.最长回文子序列思路代码 647. 回文子串 Leetcode 思路 dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。递推公式…

python和go相互调用的两种方法

前言 Python 和 Go 语言是两种不同的编程语言,它们分别有自己的优势和适用场景。在一些项目中,由于团队内已有的技术栈或者某一部分业务的需求,可能需要 Python 和 Go 相互调用,以此来提升效率和性能。 性能优势 Go 通常比 Python 更高效&…

什么是DOM(Document Object Model)?如何使用JavaScript操作DOM元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是DOM?⭐ 如何使用JavaScript操作DOM元素?1. 获取DOM元素2. 修改元素内容3. 修改元素属性4. 添加和移除元素5. 添加和移除事件监听器 ⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界…

【开发篇】十七、消息:模拟订单短信通知

文章目录 1、消息2、JMS3、AMQP4、案例:模拟订单短信通知 相关文章: 【同步通讯与异步通讯】 1、消息 消息的发送方,即生产者。消息的接收方,即消费者。同步通信就行打视频,等着对方接电话才能继续往下,而…

JDBC 【SQL注入】

一、SQL注入🍓 (一)、SQL注入问题🥝 1.向jdbc_user表中 插入两条数据 # 插入2条数据 INSERT INTO jdbc_user VALUES(NULL,jack,123456,2020/2/24); INSERT INTO jdbc_user VALUES(NULL,tom,123456,2020/2/24);2.SQL注入演示 # SQL注入演示 -- 填写…

泊车功能专题介绍 ———— AVP系统基础数据交互内容

文章目录 系统架构系统功能描述云端子系统车辆子系统场端子系统用户APP 工作流程基础数据交互内容AVP 系统基础数据交互服务车/用户 - 云基础数据交互内容车位查询工作流程技术要求数据交互要求 车位预约工作流程技术要求数据交互要求 取消预约工作流程技术要求数据交互要求 泊…

利用C++开发一个迷你的英文单词录入和测试小程序-升级版本

我们现在有了一个本地sqlite3的迷你英文单词小测试工具,需求就跟工作当中一样是不断变更的。这里虚构两个场景,并且一步一步的完成最终升级后的小demo。 场景:数据不依赖本地sqlite3,需要支持远程访问,用目前的restfu…

深入探究C++编程中的资源泄漏问题

目录 1、GDI对象泄漏 1.1、何为GDI资源泄漏? 1.2、使用GDIView工具排查GDI对象泄漏 1.3、有时可能需要结合其他方法去排查 1.4、如何保证没有GDI对象泄漏? 2、进程句柄泄漏 2.1、何为进程句柄泄漏? 2.2、创建线程时的线程句柄泄漏 …

Dijkstra 邻接表表示算法 | 贪心算法实现--附C++/JAVA实现源码

以下是详细步骤。 创建大小为 V 的最小堆,其中 V 是给定图中的顶点数。最小堆的每个节点包含顶点编号和顶点的距离值。 以源顶点为根初始化最小堆(分配给源顶点的距离值为0)。分配给所有其他顶点的距离值为 INF(无限)。 当最小堆不为空时,执行以下操作: 从最小堆中提取…

JVM技术文档--JVM诊断调优工具Arthas--阿里巴巴开源工具--一文搞懂Arthas--快速上手--国庆开卷!!

​ Arthas首页 简介 | arthas Arthas官网文档 Arthas首页、文档和下载 - 开源 Java 诊断工具 - OSCHINA - 中文开源技术交流社区 阿丹: 之前聊过了一些关于JMV中的分区等等,但是有同学还是在后台问我,还有私信问我,学了这些…

人工智能驱动的古彝文识别:保护和传承古彝文文化

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

从零开始 Spring Cloud 13:分布式事务

从零开始 Spring Cloud 13:分布式事务 1.分布式事务问题 用一个示例项目演示在分布式系统中使用事务会产生的问题。 示例项目的 SQL:seata_demo.sql 示例项目代码:seata-demo.zip 这个示例项目中的微服务的互相调用依赖于 Nacos&#xf…

低代码平台如何借助Nginx实现网关服务

摘要:本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 在典型的系统部署架构中,应用服务器是一种软件或硬件系统&#xff0c…

解决Ubuntu18.04安装好搜狗输入法后无法打出中文的问题

首先下载安装 搜狗拼音输入法 ,下载选择: x86_64 在ubuntu中设置 fcitx 最后发现安装好了,图标有了 ,但是使用时不能输入中文,使用下面的命令解决: sudo apt install libqt5qml5 libqt5quick5 libqt5qu…

PyTorch深度学习实战(20)——从零开始实现R-CNN目标检测

PyTorch深度学习实战(20)——从零开始实现R-CNN目标检测 0. 前言1. R-CNN 目标检测模型1.1 核心思想1.2 算法流程 2. 实现 R-CNN 目标检测2.1 数据集准备2.2 获取区域提议和偏移量2.3 创建训练数据2.4 构建 R-CNN 架构 3. R-CNN目标检测模型测试小结系列…

【JUC系列-09】深入理解ReentrantReadWriteLock的底层实现

JUC系列整体栏目 内容链接地址【一】深入理解JMM内存模型的底层实现原理https://zhenghuisheng.blog.csdn.net/article/details/132400429【二】深入理解CAS底层原理和基本使用https://blog.csdn.net/zhenghuishengq/article/details/132478786【三】熟练掌握Atomic原子系列基本…

浅谈智能安全配电装置在老年人建筑中的应用

摘要:我国每年因触电伤亡人数非常多,大多数事故是发生在用电设备和配电装置。在电气事故中,无法预料和不可抗拒的事故是比较少的,大量用电事故可采取切实可行措施来预防。本文通过结合老年人建筑的特点和智能安全配电装置的功能&a…

教你三步搞定VsCode调试C++

目录 1 配置编译任务2 配置调试任务3 进行调试 1 配置编译任务 使用VsCode进行C开发时,除了在机器上安装必要的编译工具(例如,gcc、g、cmake等)之外,还需要在VsCode配置编译任务,从而可以通过点击或者快捷…

【MySql】mysql之进阶查询语句

目录 一、常用查询 1、order by按关键字排序❤ 1.1 升序排序 1.2 降序排序 1.3 结合where进项条件过滤再排序 1.4 多字段排序 2、and和or判断 2.1 and和or的使用 2.2 嵌套、多条件使用 3、distinct 查询不重复记录 4、group by 对结果进行分组 5、limit限制结果…