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字样的就是可以加速的:
然后执行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
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦ᾑ…...

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设置跨域访问
目录 一:前端请求 二:后端设置 网站架构前端使用jquery请求,后端使用nginxphp-fpm 一:前端请求 <script> $.getJSON(http://nngzh.youjoy.com/cc.php, { openid: sd, }, function(res) { alert(res); if(res.code 0) …...

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

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

城市分站优化系统源码:提升百度关键排名 附带完整的搭建教程
城市分站优化已成为企业网络营销的重要手段,今天来给大家分享一款城市分站优化系统源码。 以下是部分代码示例: 系统特色功能一览: 1.多城市分站管理:该系统支持多个城市分站的管理,用户可以根据业务需求,…...
【华为OD题库-107】编码能力提升计划-java
题目 为了提升软件编码能力,小王制定了刷题计划,他选了题库中的n道题,编号从0到n-1,并计划在m天内按照题目编号顺序刷完所有的题目(注意,小王不能用多天完成同一题) 在小王刷题计划中,小王需要用time[i]的时…...
使用pytorch进行图像预处理的常用方法的详细解释
一般来说,我们在使用pytorch进行图像分类任务时都会对训练集数据做必要的格式转换和增广处理,对测试集做格式处理。 以下是常用的数据集处理函数: data_transform { "train": transforms.Compose([transforms.RandomResizedCro…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...