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

Windows系统配置pytorch环境,Jupyter notebook编辑器安装使用(深度学习本地篇)

如今现在好一点的笔记本都自带英伟达独立显卡,对于一些简单的深度学习项目,是不需要连接服务器的,甚至数据量不大的话,cpu也足够进行训练学习。我把电脑上一些以前的笔记整理一下,记录起来,方便自己35岁事业更进一步之后(失业之后)重新复习。因为实在不想动脑子去记这些东西,也不想每次换个电脑,或者到一个地方,就要满世界的找bug,翻一堆入门教程。

windows系统配置深度学习框架pytorch环境。

https://www.anaconda.com/download,官网下载最新版本。

1、anaconda安装和配置。

下载的时候注意两点,一点是安装的时候是选择just for me,这会涉及到权限问题,如果不慎选了for all user也没问题。另一点是跳过下载visual studio(因为不需要,而且visual studio占C盘太大了,而且只占c盘)

配置好后,加入三个环境变量,其中“D:\Anaconda”是我的自定义安装目录
在这里插入图片描述
为什么要用anaocnda创建虚拟python环境呢?
由于不同项目的下载使用的python包不一样,如果使用anaconda提供的全局环境下载的包用于所有python项目中,项目大了会出兼容问题。于是anaconda软件提供了一个创建不同python环境的功能,这些环境统称为虚拟环境,每个环境都可以自己指定python解释器的版本,所有虚拟环境之间相互隔离。

下载好anaconda,在win系统左下角找到anaconda poweshell prompt打开,这是anaconda的shell。或者cmd命令也可以(因为添加了环境变量),刚开始会进入一个默认创建的虚拟环境base。
在这里插入图片描述
只有在这个环境下才有权限创建其他的虚拟环境,不过一般不会去用这个base默认环境做项目。

如何使用虚拟环境呢?
就是运行代码之前,在选择python解释器的时候,我们选择conda环境下的自己创建的虚拟环境中的python.exe解释器。一般目录是…/anaconda3/envs/虚拟环境名称/pythonx.x.x.exe。无论是在vscode或者pycharm编辑器都是这样。另外,一个虚拟环境可应用于一个或者几个项目。

以下是一些常用conda命令:
conda env list 查看虚拟环境信息,带*是当前环境

conda config --show //查看conda的配置信息

conda create -n pytorch python=3.9.15 //意思创建一个名为pytorch 的环境,用的python是3.9.15版本

conda activate base //切换回base环境,用来切换环境

conda deactivate //退出此环境

conda remove --name pytorch --all //删除我的pytorch虚拟环境

conda install 包名 //下载包

conda uninstall 包名 //卸载

conda list // 当前虚拟环境都有哪些包

conda install --name pytorch numpy -y (这里的pytorch是指我创建的环境名,记住这条命令有时候很方便,在一些普通的terminal 中不能使用conda activate 命令,但却可以用其他命令的话,可以用这个命令下包)

我们一般用conda工具来管理创建和管理虚拟环境(conda工具也可以下载python工具包,但是它里面工具包的库不是很全,往往后面需要用pip下载)

假设我们要使用虚拟环境来做一个项目啊,并且项目是用python3.9.15版本。

1、左下角win图标,找到打开Anaconda prompt,默认是在base虚拟环境下,先创建一个虚拟环境,输入命令:
conda create -n pytorch python=3.9.15 //创建一个名为pytorch 的环境,指定python是3.9.15版本

输入y确定下载即可,然后它会自动下载依赖,包括python3.9.15解释程序
2、然后输入 conda activate pytorch 激活环境

PS:但是呢,然后,你如果输入命令conda config --show查看参数conda的各种参数!!!
你会发现里面envs_dir与pkgs_dir两个参数,二者指示你的环境信息,还有各种包安装路径在哪里。
然后你会发现一种情况,就是你新建的环境出现在电脑的C/Users/Windows 10/.conda/下面,而不是说在你自定义的安装anaocnda的envs目录下面。

我很讨厌任何占用我C盘的程序。由此,必须把它安装anaocnda的envs目录改成首要选项(我的是在D盘)才行。

具体操作:
首先删掉之前新建的环境,在命令行界面用命令conda remove --name pytorch --all删掉我之前创建的环境,然后在C/Users/用户名(一般为Window 1 0)下面有个文件.condarc,打开,然后在文件最后面加入你anaconda下的envs的路径 (以下为示例):

envs_dirs:
- D://Anaconda//env
pkgs_dirs:
- D://Anaconda//env

(我这里是 - D://Anaconda//envs ,注意斜杠),然后保存:
在这里插入图片描述
如图:
在这里插入图片描述
PS:pip3下载现在也是有虚拟环境约束的,我的practice虚拟环境用pip3下载的包在( D:\Anaconda\envs\practice\Lib\site-packages)类似的路径当中;所以conda下载不了的包,不会有依赖不兼容或者冲突的问题,直接用pip或者pip3下载吧。

2、pytorch安装和使用。

第一步、先看自己电脑有没有独立显卡硬件:
操作:任务打开管理器(或者在windwos的设备管理器也可以查看自己显卡的型号),显示更多信息,点击性能这里,像我这种远古机器显示带AMD字样的,就是不能加速的,有nvidia字样的就是可以加速的:
c08024584177c52022.png)
然后执行pytorch官网https://pytorch.org/中对应命令(选择好windows,conda下载方式等等,conda下不了就换pip),等待完成即可安装pytorch框架。因为我没有伟英达的独显GPU,只有联想自带的独显没用,所以运算平台这一项我就选CPU
在这里插入图片描述
对于有英伟达显卡的,我用GPT问了一下,他的回答是这样滴:
先安装英伟达显卡驱动的步骤如下:

访问英伟达官网https://www.nvidia.cn,根据你的显卡型号找到对应的驱动下载页面。

下载适用于你系统版本和显卡型号的最新驱动程序安装包。

解压下载的驱动安装包。

关闭所有其他程序。

右键点击解压后的安装文件,选择“使用管理员权限运行”。

在驱动安装向导中,点击“下一步”采用默认安装选项即可。

安装程序会自动卸载旧版本驱动,并安装新驱动。

安装完成后会提示你重启计算机,以使新驱动生效。

重启后,英伟达控制面板和其他功能将自动加载,此时驱动安装成功。

可以在cmd种,用 nvidia-smi 来查看自己显卡支持的最高cuda是什么版本,右上角的信息就是。
在这里插入图片描述

需要注意的是,每次升级驱动版本前需要卸载旧版本。另外,如果遇到任何问题,可以尝试使用英伟达驱动清除工具卸载后再安装驱动。

然后,再进入pytorch官网找到支持pytorch框架的cuda(针对某个GPU而做的驱动)驱动的conda或者pip命令。

然后打开命令行界面,激活自己创建的虚拟环境,在自己的虚拟环境下输入官网推荐的命令,下载cuda所需要的包。

下完之后,就用conda list或者pip list看下一下有没有torch包,或者键入python,进入Python解释器,执行import torch 再执行print(torch)两行代码,有返回信息就说明安装成功了。

Jupyter notebook的使用

这东西就是python一行输入一行输出的超级升级版。很方便用来教学和可视化分析代码过程,还能插入markdown代码。上课的作业估计都是用这个形式,实际上就是一个本地的网页进程而已,有浏览器就能使用。

每个环境都需要单独下载相应的工具包来才能使用jupyter notebook。
安装jupyter,首先用conda activate conda_name进入自己的conda_name虚拟环境中,然后执行下面的命令:

conda install nb_conda_kernels

(这个命令似乎是针对3.9以上的有效,里面是包含了下载新的jupyter notebook软件的)

启动jupyter,执行命令:

jupyter notebook

结果是弹出一个黑框。这个黑框不要关,这就相当于一个打开一个软件进程,关了的话jupyter进程也关掉了,然后这个进程会自动打开你的默认浏览器访问一个本地路径,进入到jupyter notebook编辑器界面。

(也有不顺利的时候,有时候输入命令jupyter notebook浏览器不会自动打开,可能是你浏览器的设置问题,直接手动复制那个黑框中http的路径自己在浏览器打开就可以。还有就是执行jupyter notebook 开启应用,然后你手动输入http路径,但是提示需要token,在弹出来的黑框中,有显示的token是什么,复制粘贴进去即可。最好是执行jupyter notebook之前在命令行中cd D:切换到你的项目的本地路径,不然他自动打开的目录是你的用户目录,当然也可以花时间去更改默认的打开目录,jupyter notebook切换默认的目录。
黑框:
在这里插入图片描述
浏览器中的jupyter,这里默认打开了目录C:\Users\Windows 10
然后按箭头提示,编辑前选择好你的虚拟环境的解释器新建编辑文件,后缀是ipynb:
在这里插入图片描述
jupyter可以写代码,还有markdown文本等等,还有命令行(这里按shift加enter即可运行或者显示当前行单元):
例如:
在这里插入图片描述
非常好用!

缺点就是没有专业编辑器的那种代码补全和提示,但跟vs code搭配会非常好用,可以弥补这点,而且vs code很轻便。操作是只需要在vscode中下载jupyter插件就可以打开和编辑ipynb文件了

但我觉得选择pycharm也还可以,因为pycharm集成的某个功能更齐全,他的远程连接还可以用本地的解释器跑,只要熟悉了来回切换很方便。

但pycahrm太大了,功能太多,有时候乱点了哪里我也不清楚,我实在是不太喜欢这种不确定性太多的感觉,一方面想用pycharm,一方面又不想用它。

相关文章:

Windows系统配置pytorch环境,Jupyter notebook编辑器安装使用(深度学习本地篇)

如今现在好一点的笔记本都自带英伟达独立显卡,对于一些简单的深度学习项目,是不需要连接服务器的,甚至数据量不大的话,cpu也足够进行训练学习。我把电脑上一些以前的笔记整理一下,记录起来,方便自己35岁事业…...

详解“量子极限下运行的光学神经网络”——相干伊辛机

量子计算和量子启发计算可能成为解答复杂优化问题的新前沿,而经典计算机在历史上是无法解决这些问题的。 当今最快的计算机可能需要数千年才能完成高度复杂的计算,包括涉及许多变量的组合优化问题;研究人员正在努力将解决这些问题所需的时间缩…...

uniapp通过蓝牙传输数据 (安卓)

在uni-app中,可以通过原生插件的方式来实现蓝牙传输数据的功能。以下是一般的步骤: 1. 创建一个原生插件 在uni-app项目的根目录下,创建一个原生插件的目录,比如"uni-bluetooth"。然后在该目录下创建一个"Androi…...

LT8612UX-HDMI2.0 to HDMI2.0 and VGA Converter with Audio,支持三通道视频DAC

HDMI2.0 to HDMI2.0 and VGA Converter with Audio 1. 描述 LT8612UX是一个HDMI到HDMI和vga转换器,它将HDMI2.0数据流转换为HDMI2.0信号和模拟RGB信号。 它还输出8通道I2S和SPDIF信号,使高质量的7.1通道音频。 LT8612UX支持符合HDMI2.0/ 1.4规范的…...

python gui programming cook,python gui视频教程

大家好,给大家分享一下python gui programming cook,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! Source code download: 本文相关源码 前言 上一节我们实现了明细窗体GUI的搭建,并且设置了查看、修改、添加三种不…...

亚马逊bsr排名的影响因素,如何提高BSR排名?-站斧浏览器

亚马逊BSR排名的影响因素有哪些? 销售速度:BSR排名主要基于产品的销售速度,即最近一段时间内的销售量。销售速度越快,BSR排名越高。 销售历史:亚马逊会考虑产品的历史销售数据,新上架的产品可能需要一段时…...

K8s-安全机制

目录 1、//机制说明 2、认证(Authentication) 3、鉴权(Authorization) 4、准入控制(Admission Control) 5、实践:创建一个用户只能管理指定的命名空间 1、//机制说明 Kubernetes 作为一个分…...

GPT-3: Language Models are Few-Shot Learners

GPT-3 论文 数据集 CommonCrawl:文章通过高质量参考语料库对CommonCrawl数据集进行了过滤,并通过模糊去重对文档进行去重,且增加了高质量参考语料库以增加文本的多样性。WebText:文章采用了类似GPT-2中的WebText文档收集清洗方…...

Qt Quick 用cmake怎么玩子项目

以下内容为本人的著作,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/o-_aGqreuQda-ZmKktvxwA 以往在公司开发众多的项目中,都会出现要求本项目里部分功能模块代码需要具备保密性。如果需要对外输出demo工程&…...

大数据学习(29)-Spark Shuffle

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦&#x1f91…...

archiver error. Connect internal only, until freed.

[64000][257] ORA-00257: archiver error. Connect internal only, until freed.原因 归档日志写满了、闪回日志写满了(根本原因是服务器磁盘写满了) # 切换到oracle服务 su - oracle# 使用sysdba用户登录 解决方案:(https://blog.csdn.net/qq_37635373/article/details/933282…...

鸿蒙HarmonyOS-图表应用

简介 随着移动应用的不断发展,数据可视化成为提高用户体验和数据交流的重要手段之一。在HarmonyOS应用开发中,一个强大而灵活的图表库是实现这一目标的关键。而MPChart就是这样一款图表库,它为开发者提供了丰富的功能和灵活性,使得…...

elasticsearch 笔记三:查询建议介绍、Suggester、自动完成

一、查询建议介绍 1. 查询建议是什么? 查询建议,为用户提供良好的使用体验。主要包括: 拼写检查; 自动建议查询词(自动补全) 拼写检查如图: 自动建议查询词(自动补全)…...

【hyperledger-fabric】将智能合约部署到通道

简介 本文主要来自于B站视频教学视频,也主要参看了官方文档中下图这一章节。针对自己开发的代码做出相应的总结。 1.启动网络 # 跳转到指定的目录 cd /root/fabric/fabric-samples/test-network# 启动docker容器并且创建通道 ./network.sh up createChannel2.打…...

nginx设置跨域访问

目录 一&#xff1a;前端请求 二&#xff1a;后端设置 网站架构前端使用jquery请求&#xff0c;后端使用nginxphp-fpm 一&#xff1a;前端请求 <script> $.getJSON(http://nngzh.youjoy.com/cc.php, { openid: sd, }, function(res) { alert(res); if(res.code 0) …...

Go语言学习第二天

Go语言数组详解 var 数组变量名 [元素数量]Type 数组变量名&#xff1a;数组声明及使用时的变量名。 元素数量&#xff1a;数组的元素数量&#xff0c;可以是一个表达式&#xff0c;但最终通过编译期计算的结果必须是整型数值&#xff0c;元素数量不能含有到运行时才能确认大小…...

阿里云OpenSearch-LLM智能问答故障的一天

上周五使用阿里云开放搜索问答版时&#xff0c;故障了一整天&#xff0c;可能这个服务使用的人比较少&#xff0c;没有什么消息爆出来&#xff0c;特此记录下这几天的阿里云处理过程&#xff0c;不免让人怀疑阿里云整体都外包出去了&#xff0c;反应迟钝&#xff0c;水平业余&a…...

城市分站优化系统源码:提升百度关键排名 附带完整的搭建教程

城市分站优化已成为企业网络营销的重要手段&#xff0c;今天来给大家分享一款城市分站优化系统源码。 以下是部分代码示例&#xff1a; 系统特色功能一览&#xff1a; 1.多城市分站管理&#xff1a;该系统支持多个城市分站的管理&#xff0c;用户可以根据业务需求&#xff0c;…...

【华为OD题库-107】编码能力提升计划-java

题目 为了提升软件编码能力&#xff0c;小王制定了刷题计划&#xff0c;他选了题库中的n道题&#xff0c;编号从0到n-1&#xff0c;并计划在m天内按照题目编号顺序刷完所有的题目(注意&#xff0c;小王不能用多天完成同一题) 在小王刷题计划中&#xff0c;小王需要用time[i]的时…...

使用pytorch进行图像预处理的常用方法的详细解释

一般来说&#xff0c;我们在使用pytorch进行图像分类任务时都会对训练集数据做必要的格式转换和增广处理&#xff0c;对测试集做格式处理。 以下是常用的数据集处理函数&#xff1a; data_transform { "train": transforms.Compose([transforms.RandomResizedCro…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...