【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以空格为界…...

数据结构算法-插入排序算法
引言 玩纸牌 的时候。往往 需要将牌从乱序排列变成有序排列 这就是插入排序 插入排序算法思想 先看图 首先第一个元素 我默认已有序 那我们从第二个元素开始,依次插入到前面已有序的部分中。具体来说,我们将第二个元素与第一个元素比较,…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...