【pytorch】深度学习入门一:pytorch的安装与配置(Windows版)
请支持原创,认准DannisTang(tangweixuan1995@foxmail.com)
文章目录
- 第〇章 阅读前提示
- 第一章 准备工作
- 第一节 Python下载
- 第二节 Python安装
- 第三节 Python配置
- 第四节 Pycharm下载
- 第五节 Pycharm安装
- 第六节 CUDA的安装
- 第二章 Anaconda安装与配置
- 第一节 Anaconda下载与环境变量配置
- 1、Anaconda下载与安装
- 2、Anaconda配置环境变量
- 第二节 Anaconda镜像源配置
- 1、查看
- 2、配置(命令行)
- 1)直接输入命令行配置
- 2)文件夹进行输入配置(Windows版)
- 3、配置(界面配置)
- 4、删除(命令行)
- 5、修改配置源(Linux版)
- 6、常用命令
- 1)环境类
- 2)包类
- 第三节 Pytorch安装与配置
- 1、创建Pytorch环境
- 2、激活Pytorch环境
- 3、关闭Pytorch环境(可选)
- 4、找到pytorch命令
- 5、验证pytorch安装
- 附节一、报错的场景和方法
- 1、创建环境报错
- 2、创建pytorch报错
- 3、下载时间超时
- 4、报错信息
- 第四节 进入pycharm
- 1、添加环境
- 2、小试牛刀
第〇章 阅读前提示
本文重点放在深度学习上,因此,对于Python部分的内容,会稍显不足。如果本文的读者想重点了解Python相关的知识,请查看其他的文章。但是为了方便入门,本文在前面依然会描述Python配置相关的内容,以及一些需要用到的Python相关的命令等。
同时值得注意的是,本文如果没有特殊说明,均是在Windows平台下进行开发和调试等。
并且为了保证兼容性,硬件设备(即你的电脑主机)最好为英特尔的CPU与英伟达的GPU(通俗理解为显卡)。
第一章 准备工作
本章将讲解深度学习的准备工作,因为不是本文的主要目的,所以不会花费很大的篇幅去讲解, 如果在本章的过程中出现问题,可以在网络中搜索下出现的问题。
本章讲解,在windows下安装和配置python和pycharm以及英伟达的cuda的安装。
第一节 Python下载
Python官网下载,下载版本为3.11.5。下载地址链接(Windows版本)
选择自己的版本进行下载,不同Python的版本可能会有兼容性的问题
(版本兼容性:通常情况来说,大版本不同,不兼容性较大,小版本不同,兼容性较小。版本号大的会兼容版本号小的。但不排除有特殊情况)
第二节 Python安装
如果选择exe的安装包的方式的话,直接下一步下一步的安装即可
第三节 Python配置
exe安装包的方法进行默认的配置
第四节 Pycharm下载
在jetbrain的官网下载Pycharm下载地址链接(Windows版本)
第五节 Pycharm安装
因为是exe安装包,所以直接下一步即可。安装完成之后,需要license,请自行解决license。
第六节 CUDA的安装
在cmd命令窗口下面,执行命令
nvidia-smi
查看自己的cuda版本,如果版本太低的话,可以下载Nvidia GeForce Experience进行更新驱动
注:这里我更新过英伟达的显卡驱动,用的是Nvidia GeForce Experience,直接自动更新,所以前后的版本不一致(第一次是516.94,cuda是11.7;第二次是546.17,cuda是12.3)。
并且如果使用Nvidia GeForce Experience的话,需要登录Nvidia的账号,自行注册一个即可,这里不再赘述。
Nvidia GeForce Experience下载地址(下载安装后自动更新驱动,含CUDA)
第二章 Anaconda安装与配置
第一节 Anaconda下载与环境变量配置
1、Anaconda下载与安装
先下载anaconda,因为是免费的,所以官网下载即可
下载地址链接(Windows版本)
下载完成后,进行安装,安装后即可使用,安装过程中直接点下一步即可。安装的路径为,需要记录这两个路径,后面在pycharm需要用到,如果是你自己安装的(并且是默认的路径),将用户名替换成你自己的用户名即可
C:\Users\用户名\AppData\Local\anaconda3
C:\Users\用户名\AppData\Local\anaconda3\Scripts\conda.exe
安装完成后(如果是默认安装的话),可以在开始菜单中看到这些选项,其中用的最多的就是这个Anaconda Prompt后面也会重点用到。
2、Anaconda配置环境变量
进入控制面板,然后输入环境变量,编辑Path即可
然后添加以下三个路径即可
点击确定即可完成添加。
第二节 Anaconda镜像源配置
1、查看
在Anaconda prompt中输入以下的命令以查看当前的镜像源
# 查看镜像源
conda config --show channels# 查看默认镜像源
conda config --show default_channels
2、配置(命令行)
1)直接输入命令行配置
在Anaconda prompt中输入以下的命令(选择性添加)
# 添加阿里源
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/r/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/msys2/# 添加清华源(不建议用)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/# (这几条是删除清华源的命令)
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/# 添加中科大源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/# 如果是使用命令行进行镜像源配置,这里需要补充一条命令,在后续使用会有帮助
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
2)文件夹进行输入配置(Windows版)
直接打开文件夹窗口,输入
C:/user/你的用户/.condarc
这里将你的用户换成你的Windows的电脑的用户即可,直接回车,会弹出打开方式,采用记事本或是你常用笔记软件打开都行,但是建议用记事本,因为常用的软件(比如UE或是notepad++会修改编码,然后用不了)。
然后换成以下的配置(全量替换),直接保存关闭就行(可以自行备份之前的配置信息)
# 以下为阿里源(推荐使用)
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.aliyun.com/anaconda/pkgs/main/- https://mirrors.aliyun.com/anaconda/pkgs/free/- https://mirrors.aliyun.com/anaconda/pkgs/r/- https://mirrors.aliyun.com/anaconda/pkgs/msys2/
custom_channels:conda-forge: https://mirrors.aliyun.com/anaconda/cloudmsys2: https://mirrors.aliyun.com/anaconda/cloudbioconda: https://mirrors.aliyun.com/anaconda/cloudmenpo: https://mirrors.aliyun.com/anaconda/cloudpytorch: https://mirrors.aliyun.com/anaconda/cloudpytorch-lts: https://mirrors.aliyun.com/anaconda/cloudsimpleitk: https://mirrors.aliyun.com/anaconda/cloud
remote_read_timeout_secs: 10000.0# 以下为清华源(不建议用,不太行,可能网络会有问题)
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
remote_read_timeout_secs: 10000.0
3、配置(界面配置)
该步骤与上步骤(步骤2)能实现同样的配置,因此,该步骤和上步骤二选一进行操作即可。
在Anaconda navigator中操作,
1)点击environment,点击channels,点击添加
2)输入以下的配置源(可以按需选择),输入完成后按回车确认
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
https://mirrors.aliyun.com/anaconda/pkgs/free/
https://mirrors.aliyun.com/anaconda/pkgs/main/
3)删除默认的配置源defaults
4)点击update channels进行更新
4、删除(命令行)
在Anaconda prompt中输入以下的命令
# 以下为几个例子,如有需要,则进行替换源即可
conda config --remove channels defaults
conda config --remove channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pro/conda config --remove default_channels https://mirrors.aliyun.com/anaconda/pkgs/free/
这里采用界面操作形式删除也可以,具体方法参照上步骤(步骤3)
5、修改配置源(Linux版)
1)使用vim修改的配置文件
vim ~/.condarc
2)清空内容,然后复制下午并保存
#以下是阿里源(推荐使用)
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.aliyun.com/anaconda/pkgs/main/- https://mirrors.aliyun.com/anaconda/pkgs/free/- https://mirrors.aliyun.com/anaconda/pkgs/r/- https://mirrors.aliyun.com/anaconda/pkgs/msys2/
custom_channels:conda-forge: https://mirrors.aliyun.com/anaconda/cloudmsys2: https://mirrors.aliyun.com/anaconda/cloudbioconda: https://mirrors.aliyun.com/anaconda/cloudmenpo: https://mirrors.aliyun.com/anaconda/cloudpytorch: https://mirrors.aliyun.com/anaconda/cloudpytorch-lts: https://mirrors.aliyun.com/anaconda/cloudsimpleitk: https://mirrors.aliyun.com/anaconda/cloud
remote_read_timeout_secs: 10000.0# 以下是清华源(不建议使用)
channels:- defaults
show_channel_urls: true
default_channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
6、常用命令
1)环境类
# 进入(激活)环境(将命令中的中文替换对应的英文名)
activate 环境名# 退出(关闭)环境(将命令中的中文替换对应的英文名)
deactivate 环境名#列出所有环境(三条命令皆可)
conda env list
conda info --envs
conda info -e# 删除环境及下属所有包(将命令中的中文替换对应的英文名)
conda remove -n 环境名 --all # 删除本环境下的所有包(不删除环境)
conda clean -all# 复制环境(将命令中的中文替换对应的英文名)
conda create --name 新环境名 --clone 旧环境名
2)包类
# 查看conda的版本号,通常都是查看版本号以验证某软件是否安装
conda --version# 列出当前环境的所有包
conda list# 查看当前环境已安装包
conda list# 查找可安装的包(将命令中的中文替换对应的英文名)
conda search 包名# 在当前环境安装包(将命令中的中文替换对应的英文名)
conda install 包名# 在指定环境安装包(将命令中的中文替换对应的英文名)
conda install --name 环境名 包名# 在当前环境更新包(将命令中的中文替换对应的英文名)
conda update 包名# 在当前环境更新所有包(以下两条命令皆可)
conda update --all
conda upgrade --all# 在当前环境卸载包(将命令中的中文替换对应的英文名)
conda remove 包名# 在指定环境卸载包(将命令中的中文替换对应的英文名)
conda remove --name 环境名 包名# 精确查找包
conda search --full-name 精确包名
# 例子:conda search --full-name python# 模糊查找包
conda search 模糊包名
# 例子:conda search py
第三节 Pytorch安装与配置
1、创建Pytorch环境
使用 Anaconda Prompt (菜单栏中选项,如果不记得了,查看第二章第一节的第1步)进入命令行,创建一个pytorch环境
# 命令模板
conda create -n 环境名称 python=实际安装Python版本# 实际执行
conda create -n pytorchDemoProject python=3.11.5
我这里创建的环境名称为pytorchDemoProject,实际的Python的版本为3.11.5
注:如果不指定python版本,则会安装anaconda的相应的版本的。如anaconda是第二版,则会安装python2的版本;如anaconda是第三版,则会安装python3的版本
在安装过程中,先会找到对应的包,然后过程中提提示是否安装Y/N,这时候输入y并回车即可。
如图,第一张图为更新升级conda。再执行一次,即为安装pytorch。
作者注:这里在安装过程中实际上出现了一些问题,作者解决了之后,即可成功安装。但因如此,没能成功截取到图片。因此这里少了一张安装的图片,但安装过程如上文所述,只需在过程中按y并回车以确认安装即可。
2、激活Pytorch环境
然后激活刚刚创建的pytorchDemoProject 环境,这里的激活也可以理解为进入的意思
conda activate pytorchDemoProject
如图
3、关闭Pytorch环境(可选)
这一步是可选的,有激活的命令,也就有对应的关闭命令,关闭刚刚创建的pytorchDemoProject环境
conda deactivate pytorchDemoProject
4、找到pytorch命令
去官网找到安装命令
然后根据图示的方法选择命令
复制这里生成的命令(即Run this Command中的命令,也就是下面这条),然后执行生成的命令,以安装pytorch
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
安装过程中还要输入一次y进行确认,在安装过程中会遇到很多问题,请查看下面的附节一进行排查和解决
5、验证pytorch安装
使用命令先查看是否安装成功
conda list
如图,显示如下,即表示该环境下有这些包了
安装完了之后,输入python命令进入python界面
然后输入import torch进行导入
然后输入torch.cuda.is_available()进行验证是否成功,如图
如图,即表示安装成功
附节一、报错的场景和方法
1、创建环境报错
报错提示如下
CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://conda.anaconda.org/pytorch/win-64/pytorch-2.1.1-py3.11_cuda12.1_cudnn8_0.tar.bz2
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
没有更新配置镜像源所致,需要更新一下镜像源
2、创建pytorch报错
报错提示如下
配置了错误的镜像源所致,需要更新一下配置的镜像源
3、下载时间超时
有时候也会报超时的错误,如图
CondaError: Downloaded bytes did not match Content-Length
url: https://conda.anaconda.org/pytorch/win-64/pytorch-2.1.1-py3.11_cuda12.1_cudnn8_0.tar.bz2
target_path: C:\Users\tangweixuan\AppData\Local\anaconda3\pkgs\pytorch-2.1.1-py3.11_cuda12.1_cudnn8_0.tar.bz2
Content-Length: 1339118426
downloaded bytes: 26179998
解决方法1:
直接命令行
# 设置100000.0秒的超时时长
conda config --set remote_read_timeout_secs 100000.0
解决方法2:
找到.condarc配置文件,在配置文件最后添加
remote_read_timeout_secs: 100000.0
4、报错信息
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: failed
CondaVerificationError: The package for libcurand-dev located at C:\Users\tangweixuan\AppData\Local\anaconda3\pkgs\libcurand-dev-10.3.4.101-0
appears to be corrupted. The path 'bin/curand64_10.dll'
specified in the package manifest cannot be found.
CondaVerificationError: The package for libcurand-dev located at C:\Users\tangweixuan\AppData\Local\anaconda3\pkgs\libcurand-dev-10.3.4.101-0
appears to be corrupted. The path 'include/curand_precalc.h'
specified in the package manifest cannot be found.
ClobberError: This transaction has incompatible packages due to a shared path.
packages: nvidia/win-64::cuda-cupti-12.1.105-0, nvidia/win-64::cuda-nvtx-12.1.105-0, nvidia/win-64::cuda-profiler-api-12.3.101-0
path: 'license'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/bin/cjpeg.exe'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/bin/djpeg.exe'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/bin/jpegtran.exe'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/bin/rdjpgcom.exe'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/bin/wrjpgcom.exe'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/include/jconfig.h'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/include/jerror.h'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/include/jmorecfg.h'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/include/jpeglib.h'
ClobberError: This transaction has incompatible packages due to a shared path.
packages: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::jpeg-9e-h2bbff1b_1, https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0
path: 'library/lib/jpeg.lib'
暂时没找到这个报错的原因,直接从头开始来一遍了
第四节 进入pycharm
1、添加环境
直接使用命令行的形式来操作不好操作,这个时候用pycharm进行操作与开发。使用pycharm可以把刚刚创建好的anaconda的环境添加进去,就无需使用命令行进行开发了。
打开pycharm,任意创建一个pure python的project(为了方便看,我这里创建的是一个名叫pytorchProject的项目),你也可以随意命名。然后进入setting设置,然后添加接口
然后选择路径
使用我们刚刚的路径
# 注意:这里是我的电脑用户tangweixuan,你自己的电脑用户不一定是这个,请注意替换
C:\Users\tangweixuan\AppData\Local\anaconda3\Scripts\conda.exe
然后加载一下,并且选择我们在Anaconda中创建pytorchDemoProject(此刻,教育完成了闭环了。请给自己鼓掌打打气,你基本已经完成了安装和配置了),并且点击OK即可
可以看到我们刚刚安装的环境里面的包,都有了
然后点击ok,回到主界面;在main.py中输入
import torch
print(torch.cuda.is_available())
点击右上的播放按键进行执行
如上图,在下方控制台上打印出了True,表示成功了。
2、小试牛刀
在刚刚的pycharm中,使用和尝试一些基本的pytorch语法来小试牛刀吧!
# 创建一个未初始化的5x3矩阵
x1 = torch.empty(5, 3)
print('x1的结果是:')
print(x1)# 创建一个随机初始化的5x3矩阵
x2 = torch.rand(5, 3)
print('x2的结果是:')
print(x2)# 创建一个5x3的零矩阵,类型为long
x3 = torch.zeros(5, 3, dtype=torch.long)
print('x3的结果是:')
print(x3)# 直接从数据创建tensor
x4 = torch.tensor([5.5, 3])
print('x4的结果是:')
print(x4)
这时输入到main.py中(注意,import torch这句话需要一直保留,即使在后面的开发中也需要保留),可以在下方的控制台看到输出的结果
控制台的具体结果如下图
到这里,你就基本完成pytorch的安装与配置了,接下来,可以大展拳脚了,你也来试试看吧(完结撒花)。
本文完全免费且公开,如果你觉得不错的话,请扫描下方二维码进行赞赏吧,你的支持就是我最大的动力,感谢!
请支持原创,认准DannisTang(tangweixuan1995@foxmail.com)
相关文章:

【pytorch】深度学习入门一:pytorch的安装与配置(Windows版)
请支持原创,认准DannisTang(tangweixuan1995foxmail.com) 文章目录 第〇章 阅读前提示第一章 准备工作第一节 Python下载第二节 Python安装第三节 Python配置第四节 Pycharm下载第五节 Pycharm安装第六节 CUDA的安装 第二章 Anaconda安装与配…...

安装postgresql驱动及python使用pyodbc指定postgresql驱动调用postgresql
注:Python解释器版本(32位/64位)和postgresql驱动版本(32位/64位)需一致。 一、安装postgresql驱动 https://www.postgresql.org/ftp/odbc/versions/msi/ (1)32位: (2)64位: 双击安装。全程默…...

【OpenCV】计算机视觉图像处理基础知识
目录 前言 推荐 1、OpenCV礼帽操作和黑帽操作 2、Sobel算子理论基础及实际操作 3、Scharr算子简介及相关操作 4、Sobel算子和Scharr算子的比较 5、laplacian算子简介及相关操作 6、Canny边缘检测的原理 6.1 去噪 6.2 梯度运算 6.3 非极大值抑制 6.4 滞后阈值 7、Ca…...

Course1-Week3-分类问题
Course1-Week3-分类问题 文章目录 Course1-Week3-分类问题1. 逻辑回归1.1 线性回归不适用于分类问题1.2 逻辑回归模型1.3 决策边界 2. 逻辑回归的代价函数3. 实现梯度下降4. 过拟合与正则化4.1 线性回归和逻辑回归中的过拟合4.2 解决过拟合的三种方法4.3 正则化4.4 用于线性回归…...

Dockerfile 指令的最佳实践
这些建议旨在帮助您创建一个高效且可维护的Dockerfile。 一、FROM 尽可能使用当前的官方镜像作为镜像的基础。Docker推荐Alpine镜像,因为它受到严格控制,体积小(目前不到6 MB),同时仍然是一个完整的Linux发行版。 FR…...

Drools 入门:折扣案例
1. 安装 在idea软件中安装Drools 插件,我这里是直接搜索Drools就可以搜到 2. 实现入门案例 2.1 配置pom.xml文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi&q…...

微信小程序中生命周期钩子函数
微信小程序 App 的生命周期钩子函数有以下 7 个: onLaunch(options):当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。onShow(options):当小程序启动或从后台进入前台显示时,会触发 on…...

“无忧文件安全!上海迅软DSE文件加密软件助您轻松管控分公司数据!
许多大型企业集团由于旗下有着分布在不同城市的分支机构,因此在规划数据安全解决方案时,不适合采用市面上常见的集中式部署方式来管控各分部服务器,而迅软DSE文件加密软件支持采用分布式部署的方式来解决这一问题。 企业用户只需在总部内部署…...

详解线段树
前段时间写过一篇关于树状数组的博客树状数组,今天我们要介绍的是线段树,线段树比树状数组中的应用场景更加的广泛。这些问题也是在leetcode 11月的每日一题频繁遇到的问题,实际上线段树就和红黑树 、堆一样是一类模板,但是标准库…...
C语言——指针的运算
1、指针 - 整数 #include<stdio.h> #define N_VALUES 5 int main() {flout values[N_VALUES];flout *vp;for(vp&values[0];vp<&values[N_VALUES];) //指针的关系运算{*vp0; //指针整数} } 2、指针 - 指针 #include<stdio.h> int main() …...

Apache Hive(部署+SQL+FineBI构建展示)
Hive架构 Hive部署 VMware虚拟机部署 一、在node1节点安装mysql数据库 二、配置Hadoop 三、下载 解压Hive 四、提供mysql Driver驱动 五、配置Hive 六、初始化元数据库 七、启动Hive(Hadoop用户) chown -R hadoop:hadoop apache-hive-3.1.3-bin hive 阿里云部…...
python入门级简易教程
Python是一种高级编程语言,由Guido van Rossum于1991年创建。它是一种通用的、解释型的、高级的、动态的、面向对象的编程语言。 Python的编程哲学是简洁明了,强调代码的可读性和简洁性,使开发人员能够快速开发出正确的代码。Python被广泛用…...
模拟一个集合 里面是设备号和每日的日期
问题: 需要模拟一个集合 里面是设备号和每日的日期 代码如下: static void Main(string[] args){string equipmentCodePar "";DateTime time DateTime.Now; // 获取当前时间DateTime startDate time.AddDays(1 - time.Day);//获取当前月第一…...

antdesign前端一直加载不出来
antdesign前端一直加载不出来 报错:Module “./querystring” does not exist in container. while loading “./querystring” from webpack/container/reference/mf at mf-va_remoteEntry.js:751:11 解决方案:Error: Module “xxx“ does not exist …...

排序算法介绍(一)插入排序
0. 简介 插入排序(Insertion Sort) 是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常…...

2023新优化应用:RIME-CNN-LSTM-Attention超前24步多变量回归预测算法
程序平台:适用于MATLAB 2023版及以上版本。 霜冰优化算法是2023年发表于SCI、中科院二区Top期刊《Neurocomputing》上的新优化算法,现如今还未有RIME优化算法应用文献哦。RIME主要对霜冰的形成过程进行模拟,将其巧妙地应用于算法搜索领域。 …...

RNN:文本生成
文章目录 一、完整代码二、过程实现2.1 导包2.2 数据准备2.3 字符分词2.4 构建数据集2.5 定义模型2.6 模型训练2.7 模型推理 三、整体总结 采用RNN和unicode分词进行文本生成 一、完整代码 这里我们使用tensorflow实现,代码如下: # 完整代码在这里 imp…...

Rust UI开发(五):iced中如何进行页面布局(pick_list的使用)?(串口调试助手)
注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 这是一个系列博文,本文是第五篇,前四篇链接: 1、Rust UI开发(一):使用iced构建UI时…...

Linux学习笔记2
web服务器部署: 1.装包: [rootlocalhost ~]# yum -y install httpd 2.配置一个首页: [rootlocalhost ~]# echo i love yy > /var/www/html/index.html 启动服务:[rootlocalhost ~]# systemctl start httpd Ctrl W以空格为界…...

数据结构算法-插入排序算法
引言 玩纸牌 的时候。往往 需要将牌从乱序排列变成有序排列 这就是插入排序 插入排序算法思想 先看图 首先第一个元素 我默认已有序 那我们从第二个元素开始,依次插入到前面已有序的部分中。具体来说,我们将第二个元素与第一个元素比较,…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...