当前位置: 首页 > news >正文

【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后面也会重点用到。
Anaconda Prompt命令行

2、Anaconda配置环境变量

进入控制面板,然后输入环境变量,编辑Path即可
找到环境变量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。
升级conda作者注:这里在安装过程中实际上出现了一些问题,作者解决了之后,即可成功安装。但因如此,没能成功截取到图片。因此这里少了一张安装的图片,但安装过程如上文所述,只需在过程中按y并回车以确认安装即可。

2、激活Pytorch环境

然后激活刚刚创建的pytorchDemoProject 环境,这里的激活也可以理解为进入的意思

conda activate pytorchDemoProject 

如图
进入创建好的pytorch环境

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命令
控制台的具体结果如下图
控制台的具体结果

到这里,你就基本完成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 插件&#xff0c;我这里是直接搜索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 个&#xff1a; onLaunch(options)&#xff1a;当小程序初始化完成时&#xff0c;会触发 onLaunch&#xff08;全局只触发一次&#xff09;。onShow(options)&#xff1a;当小程序启动或从后台进入前台显示时&#xff0c;会触发 on…...

“无忧文件安全!上海迅软DSE文件加密软件助您轻松管控分公司数据!

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

详解线段树

前段时间写过一篇关于树状数组的博客树状数组&#xff0c;今天我们要介绍的是线段树&#xff0c;线段树比树状数组中的应用场景更加的广泛。这些问题也是在leetcode 11月的每日一题频繁遇到的问题&#xff0c;实际上线段树就和红黑树 、堆一样是一类模板&#xff0c;但是标准库…...

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]&#xff1b;) //指针的关系运算{*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是一种高级编程语言&#xff0c;由Guido van Rossum于1991年创建。它是一种通用的、解释型的、高级的、动态的、面向对象的编程语言。 Python的编程哲学是简洁明了&#xff0c;强调代码的可读性和简洁性&#xff0c;使开发人员能够快速开发出正确的代码。Python被广泛用…...

模拟一个集合 里面是设备号和每日的日期

问题&#xff1a; 需要模拟一个集合 里面是设备号和每日的日期 代码如下&#xff1a; static void Main(string[] args){string equipmentCodePar "";DateTime time DateTime.Now; // 获取当前时间DateTime startDate time.AddDays(1 - time.Day);//获取当前月第一…...

antdesign前端一直加载不出来

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

排序算法介绍(一)插入排序

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

2023新优化应用:RIME-CNN-LSTM-Attention超前24步多变量回归预测算法

程序平台&#xff1a;适用于MATLAB 2023版及以上版本。 霜冰优化算法是2023年发表于SCI、中科院二区Top期刊《Neurocomputing》上的新优化算法&#xff0c;现如今还未有RIME优化算法应用文献哦。RIME主要对霜冰的形成过程进行模拟&#xff0c;将其巧妙地应用于算法搜索领域。 …...

RNN:文本生成

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

Rust UI开发(五):iced中如何进行页面布局(pick_list的使用)?(串口调试助手)

注&#xff1a;此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库&#xff0c;用于为rust语言程序构建UI界面。 这是一个系列博文&#xff0c;本文是第五篇&#xff0c;前四篇链接&#xff1a; 1、Rust UI开发&#xff08;一&#xff09;&#xff1a;使用iced构建UI时…...

Linux学习笔记2

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

数据结构算法-插入排序算法

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

安装Kuboard管理K8S集群

目录 第一章.安装Kuboard管理K8S集群 1.安装kuboard 2.绑定K8S集群&#xff0c;完成信息设定 3.内网安装 第二章.kuboard-spray安装K8S 2.1.先拉镜像下来 2.2.之后打开后&#xff0c;先熟悉功能&#xff0c;注意版本 2.3.打开资源包管理&#xff0c;选择符合自己服务器…...

网络安全行业大模型调研总结

随着人工智能技术的发展&#xff0c;安全行业大模型SecLLM&#xff08;security Large Language Model&#xff09;应运而生&#xff0c;可应用于代码漏洞挖掘、安全智能问答、多源情报整合、勒索情报挖掘、安全评估、安全事件研判等场景。 参考&#xff1a; 1、安全行业大模…...

Linux AMH服务器管理面板本地安装与远程访问

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装…...

Sharding-Jdbc(3):Sharding-Jdbc分表

1 分表分库 LogicTable 数据分片的逻辑表&#xff0c;对于水平拆分的数据库(表)&#xff0c;同一类表的总称。 订单信息表拆分为2张表,分别是t_order_0、t_order_1&#xff0c;他们的逻辑表名为t_order。 ActualTable 在分片的数据库中真实存在的物理表。即上个示例中的t_…...

zookeeper集群 +kafka集群

1.zookeeper kafka3.0之前依赖于zookeeper zookeeper是一个开源&#xff0c;分布式的架构&#xff0c;提供协调服务&#xff08;Apache项目&#xff09; 基于观察者模式涉及的分布式服务管理架构 存储和管理数据&#xff0c;分布式节点上的服务接受观察者的注册&#xff0c…...

2022年全国大学生数据分析大赛医药电商销售数据分析求解全过程论文及程序

2022年全国大学生数据分析大赛 医药电商销售数据分析 原题再现&#xff1a; 问题背景   20 世纪 90 年代是电子数据交换时代&#xff0c;中国电子商务开始起步并初见雏形&#xff0c;随后 Web 技术爆炸式成长使电子商务处于蓬勃发展阶段&#xff0c;目前互联网信息碎片化以…...

Python版本与opencv版本的对应关系

python版本要和opencv版本相对应&#xff0c;否则安装的时候会报错。 可以到Links for opencv-python上面查看python版本和opencv版本的对应关系&#xff0c;如图&#xff0c;红框内是python版本&#xff0c;绿框内是opencv版本。 查看自己的python版本后&#xff0c;使用下面…...

【开源视频联动物联网平台】LiteFlow

LiteFlow是一个轻量且强大的国产规则引擎框架&#xff0c;可用于复杂的组件化业务的编排领域。它基于规则文件来编排流程&#xff0c;支持xml、json、yml三种规则文件写法方式&#xff0c;再复杂的逻辑过程都能轻易实现。LiteFlow于2020年正式开源&#xff0c;2021年获得开源中…...

家用智能门锁——智能指纹锁方案

智能指纹锁产品功能&#xff1a; 1&#xff1a;指纹识别技术&#xff1a;光学传感器、半导体传感器或超声波传感器等。 2&#xff1a;指纹容量&#xff1a;智能指纹锁可以存储的指纹数量&#xff0c;通常在几十到几百个指纹之间。 3&#xff1a;解锁时间&#xff1a;指纹识别和…...

Qt6 QRibbon 一键美化Qt界面

强烈推荐一个 github 项目&#xff1a; https://github.com/gnibuoz/QRibbon 作用&#xff1a; 在几乎不修改任何你自己代码的情况下&#xff0c;一键美化你的 UI 界面。 代码环境&#xff1a;使用 VS2019 编译 Qt6 GUI 程序&#xff0c;继承 QMainWindow 窗口类 一、使用方法 …...

JAVA IO:NIO

1.阻塞 IO 模型 ​ 最传统的一种 IO 模型&#xff0c;即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后&#xff0c;内核会去查看数据是否就绪&#xff0c;如果没有就绪就会等待数据就绪&#xff0c;而用户线程就会处于阻塞状态&#xff0c;用户线程交出 CPU。当…...

Python 在控制台打印带颜色的信息

#格式&#xff1a;  设置颜色开始 &#xff1a;\033[显示方式;前景色;背景色m #说明&#xff1a; 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 …...

SQL Server 数据库,创建触发器避免数据被更改

5.4触发器 触发器是一种特殊类型的存储过程&#xff0c;当表中的数据发生更新时将自动调用&#xff0c;以响应INSERT、 UPDATE 或DELETE 语句。 5.4.1什么是触发器 1.触发器的概念 触发器是在对表进行插入、更新或删除操作时自动执行的存储过程&#xff0c;触发器通常用于强…...

C语言实现植物大战僵尸(完整版)

实现这个游戏需要Easy_X 这个在我前面一篇C之番外篇爱心代码有程序教你怎么下载&#xff0c;大家可自行查看 然后就是需要植物大战僵尸的素材和音乐&#xff0c;需要的可以在评论区 首先是main.cpp //开发日志 //1导入素材 //2实现最开始的游戏场景 //3实现游戏顶部的工具栏…...

基于YOLOv8深度学习的火焰烟雾检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…...

【C++】手撕string思路梳理

目录 基本思路 代码实现 1.构建框架&#xff1a; 2.构建函数重载 3.迭代器&#xff1a; 4.遍历string 5.resetve 开空间&#xff0c;insert任意位置插入push_back,append,(按顺序依次实现) 6.erase删除&#xff0c;clear清除&#xff0c;resize缩容 7.流插入&#xff0…...

【数据结构和算法】确定两个字符串是否接近

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1操作 1 的本质&#xff1a;字符可以任意排列 2.2操作 2 的本质&#xff1a;出现次数是可以交换的 2.…...

[足式机器人]Part2 Dr. CAN学习笔记-Ch0-1矩阵的导数运算

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Ch0-1矩阵的导数运算 1. 标量向量方程对向量求导&#xff0c;分母布局&#xff0c;分子布局1.1 标量方程对向量的导数1.2 向量方程对向量的导数 2. 案例分析&#xff0c;线性回归3. 矩阵求导的链…...

如何让软文更具画面感,媒介盒子分享

写软文这种带有销售性质的文案时&#xff0c;总说要有画面感&#xff0c;要有想象空间。只有针对目标用户的感受的设计&#xff0c;要了解用户想的是什么&#xff0c;要用可视化的描述来影响用户的感受&#xff0c;今天媒介盒子就和大家分享&#xff1a;如何让软文更具画面感。…...

Hadoop学习笔记(HDP)-Part.19 安装Kafka

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...

Arrays类练习 - Java

案例&#xff1a;自定义Book类&#xff0c;里面包含name和price&#xff0c;按price排序(从大到小)。要求使用两种方式排序&#xff0c;有一个 Book[] books 4本书对象。 使用前面学习过的传递实现Comparator接口匿名内部类&#xff0c;也称为定制排序。可以按照price (1)从大到…...

Java多线程:代码不只是在‘Hello World‘

Java线程好书推荐 概述01 多线程对于Java的意义02 为什么Java工程师必须掌握多线程03 Java多线程使用方式04 如何学好Java多线程写在末尾&#xff1a; 主页传送门&#xff1a;&#x1f4c0; 传送 概述 摘要&#xff1a;互联网的每一个角落&#xff0c;无论是大型电商平台的秒杀…...

使用PCSS实现的实时阴影效果

PCSS的技术可以使得阴影呈现出近硬远软的效果&#xff0c;并且能够实时实现。 其核心理念是通过模拟光源的面积来产生更自然、更柔和的阴影边缘。 具体步骤&#xff1a; 1、生成shadowmap 2、在进行阴影的比较时候进行平均&#xff0c;并非之前的shadow map 或者之后完全的阴影…...

用于缓存一些固定名称的小组件

项目中&#xff0c;用于缓存姓名、地名、单位名称等一些较固定名称的id-name小组件。用于减少一些表的关连操作和冗余字段。优化代码结构。扩展也方便&#xff0c;写不同的枚举就行了。 具体用法&#xff1a; {NameCacheUser.USER.getName(userId);NameCacheUser.ACCOUNT.getN…...

Python 读取电子发票PDF 转成Excel

Python 读取电子发票PDF 转成Excel 目录 0.前提 1.python相关的处理PDF的库 2.实际好用的 3.实际代码 4.思考 0.前提 只识别普通电子发票PDF&#xff0c;提取其中某些关键内容到excel中。 1.python相关的处理PDF的库 如下4个库是经常更新维护的&#xff01; pyP…...

我的项目问题

1.一点缩放和旋转就消失&#xff0c;需要再次平移才出现 解决方案&#xff1a;在显示当前图形时&#xff0c;显示已有图形。 2.每次点击平移&#xff0c;图形移动到上次点击的位置。 ho_RegionUnion.Dispose(); ho_RegionUnion ExpTmpOutVar_0;这两段代码放到显示之后的&am…...

【c】杨辉三角

下面介绍两种方法 1.利用上面性质的第五条&#xff0c;我们可以求各行各列的组合数 2.利用上面性质的第7条&#xff0c;我们可以用数组完成 下面附上代码 1. #include<stdio.h> void fact(int n ,int m )//求组合数 {long long int sum11;long long int sum21;int a…...

算法刷题之数组篇

题目一&#xff1a;两数之和 给出一个整型数组 numbers 和一个目标值 target&#xff0c;请在数组中找出两个加起来等于目标值的数的下标&#xff0c;返回的下标按升序排列。 &#xff08;注&#xff1a;返回的数组下标从1开始算起&#xff0c;保证target一定可以由数组里面2…...

TR转发路由器测评—云企业网实现跨地域跨VPC的网络互通测评实战【阿里云产品测评】

文章目录 一.转发路由器 Transit Router 测评1.1 准备阶段1.2 本文测评收获1.3 什么是云企业网实例、转发路由器实例和云数据传输服务 二.使用云企业网实现跨地域跨VPC的网络互通2.2 **测试连通性**2.3 网络拓扑如下&#xff1a; 心得&#xff1a;总结&#xff1a; 声明&#x…...

1.1美术理论基础

一、光影 物体呈现在人们眼前的时候&#xff0c;不同的受光面其明暗变化以及物体的影子。 1.什么是黑白灰 在美术中黑白灰指亮面、灰面、暗面&#xff0c;属于素描的三大面&#xff0c;主要体验一个物体的整体寿光过程。普遍存在于各种艺术和设计领域。黑白灰作品的出现&#x…...