【PyTorch】深度学习PyTorch环境配置及安装【详细清晰】

devtools/2024/9/23 5:45:04/

文章目录

    • 概要
    • 步骤
      • Anaconda安装
      • 管理环境
    • 安装PyTorch
    • PyTorch环境使用
    • Jupyter
      • Jupyter简介
      • 安装Jupyter及使用
    • 我的部分版本

概要

搭建PyTorch环境用于深度学习

步骤

Anaconda安装

安装详情:https://blog.csdn.net/Q20011102/article/details/127831950
我安装的是Anaconda3,适用于python3以上
在这里插入图片描述

现在的深度学习都离不开显卡,像现在的一些TensorFlow、Pytorch只支持英伟达的显卡,但是显卡只起到一个加速的作用,对于学习pytorch是没有影响的。

管理环境

如何有效管理环境至关重要,例如不同的项目所用的环境有时候都可能不一样,比如这个项目用到pythorch0.4,另一个项目用到pytorch1.0,如果你卸载了0.4版本,安装了1.0版本。那么下一次,你再碰到0.4版本,就需要卸载1.0版本,重新安装0.4版本,很折腾。Anaconda集成的conda包能够创建不同的环境,相互隔离开来。你想要哪个版本,就用哪个环境。
首先使用conda指令创建一个环境,叫做pytorch
指令如下:

conda create -n pytorch python=3.10

conda 是指调用conda包,create是创建的意思,-n 后面指环境的名字(可以自己定义),python=3.10指创建python环境是3.10版本的(python可以不用这么高的版本可以自己设置3.6或3.7版本的话就行,我这边设置3.10版本是因为后面安装pytorch的版本高了所以就必须安装python版本高一点的)
在这里插入图片描述
安装成功,可以看到使用的指令激活,并看到左边括号切换环境后的名字

conda activate pytorch

在这里插入图片描述
可以使用pip list来看这个pytorch用到了哪些工具包在这里插入图片描述
但是从上面可以看到没有我们想要的pytorch,现在就需要开始安装PyTorch

安装PyTorch

官网下载:https://pytorch.org/
往下拉,可以看到:
在这里插入图片描述

判断自己电脑有没有英伟达显卡,有则选择CUDA版本,没有则选择CUDA为CPU Only的版本

确定自己有没有英伟达显卡:打开任务管理器->选择性能->点击GPU可以看到有NVIDIA则有英伟达显卡(有些人只有一个GPU没有GPU0和GPU1,反正都点一下看一下哈)
在这里插入图片描述

确定显卡支持的CUDA版本:可以打开终端Windows+R 输入nvidia-smi就可以看到
在这里插入图片描述
我这里是有英伟达显卡的,所以我选择有CUDA的,不选择CPU Only的版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完成之后可以使用pip list去看torch版本
在这里插入图片描述

还可以检查是否安装成功,按如下图进行输入指令,生成True表示pytorch安装成功
在这里插入图片描述

PyTorch环境使用

pycharm官网:https://www.jetbrains.com/pycharm/download/?section=windows
可以看下别人的安装教程:https://blog.csdn.net/2302_79334848/article/details/132128699
安装好之后,可以先装一个中文插件然后重启,双击打开pycharm,新建工程
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
继续输入指令,返回True表明已经搭建好了在这里插入图片描述

Jupyter

Jupyter简介

官网:https://jupyter.org/
Jupyter是一个可以交互的python工具,因为可以随时进行更改某一段的代码,然后某一部分进行运行
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

安装Jupyter及使用

安装可以采用Anaconda安装,打开Anaconda,进行如下图安装在这里插入图片描述
在这里插入图片描述
点击Jupyter Notebook,自动跳到浏览器出现文件目录,jupyter默认安装在base环境中,不能使用我们刚刚安装的pytorch
所以有两种解决方式:
1.在base环境中再安装一次pytorch
2.在pytorch环境中安装jupyter
这里选择第2种方式
在base环境中,要打开jupyter需要一个package
通过Anaconda Prompt进行查询包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
pytorch中安装ipykernel包,这样就能打开jupyter了
输入指令:conda install nb_conda进行安装包(安装过程中输入y)在这里插入图片描述
安装完成,输入jupyter notebook就可以自动进行跳转到浏览器
在这里插入图片描述
在这里插入图片描述

有些无法进行跳转的,可以看看我的这篇文章进行解决:https://blog.csdn.net/Q20011102/article/details/127831950

按下图点击
在这里插入图片描述
可以在框中输入代码
在这里插入图片描述

  • Shift+Enter :执行本单元代码,并跳转到下一单元
  • Ctrl+Enter :执行本单元代码,留在本单元
  • a:往上创建新单元格
  • b :往下创建新单元格
    在这里插入图片描述
    命令行模式下,按m可将单元格从代码切换到Markdown模式下(在Markdown中可以写一些注释)在这里插入图片描述一些jupyter操作:
    在这里插入图片描述

python文件、python控制台、jupyter执行代码的顺序与优缺点:
在这里插入图片描述
python控制台多行书写快捷键:shift+enter
jupyter执行代码并进入下一行快捷键:shift+enter

我的部分版本

  • Anaconda3
  • CUDA12.5
  • python3.10.14
  • Pycharm2022.1.1
  • torch2.1.0
  • numpy1.23.5

http://www.ppmy.cn/devtools/88651.html

相关文章

前端模块化CommonJS、AMD、CMD、ES6

在前端开发中,模块化是一种重要的代码组织方式,它有助于将复杂的代码拆分成可管理的小块,提高代码的可维护性和可重用性。CommonJS、AMD(异步模块定义)和CMD(通用模块定义)是三种不同的模块规范…

安装 electron 报错解决

1. 报错 大概率由镜像问题导致 2. 解决 2.1 打开 npm 配置 npm config edit 2.2 添加配置 registryhttps://registry.npmmirror.comelectron_mirrorhttps://cdn.npmmirror.com/binaries/electron/electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron…

Can Large Language Models Provide Feedback to Students? A Case Study on ChatGPT

文章目录 题目摘要相关工作方法结果讨论意义 题目 大型语言模型能为学生提供反馈吗?ChatGPT 案例研究 论文地址:https://ieeexplore.ieee.org/abstract/document/10260740 摘要 摘要——教育反馈已被广泛认为是提高学生学习能力的有效方法。然而&#x…

Action部署在线上写文章

原文:https://blog.c12th.cn/archives/32.html 前言 之前分别出了 Hexo 和 Hugo 的 Action搭建教程,相当于伪动态,可以在线上写文章了;不过对于喜欢魔改的同学就不太友好了qwq 教程 github.dev 确保在配置过程中能访问Github &…

Java 并发编程:Java 中的乐观锁与 CAS

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 025 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…

Leetcode3224. 使差值相等的最少数组改动次数

Every day a Leetcode 题目来源:3224. 使差值相等的最少数组改动次数 解法1: 想一想,什么情况下答案是 0?什么情况下答案是 1? 如果答案是 0,意味着所有 ∣nums[i]−nums[n−1−i]∣ 都等于同一个数 X。…

【前端element-ui】对于封装el-select和checkbox-group的多选控件导致数据双向绑定失败问题的处理

一、关于通过父组件props传参el-select【下拉多选模式】双向绑定失败问题处理方式 1、this.$emit(“change”, val); 采用change二不是input 2、对_value赋值不能直接使用""号&#xff0c;而是push <template><div><el-select v-model"_value&q…

MQTT(速记版)

什么是 MQTT? MQ一般指消息队列中间件,而MQTT是一种轻量级、发布-订阅模式的消息传输协议。 MQTT是基于TCP/IP协议族的,位于应用层。 TCP/IP协议族的网络模型: 四层模型:应用层、传输层、网络层、数据链路层 应用层: HTTP, HTTPS, FTP,SMTP , POP3, ssh MQTT 传输层: …