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…...
天线根据什么进行分类
天线是信息化时代的一个标准,广播信号塔,通信基站塔,卫星天线还有每天都要用到的手机,都是含有天线的,只是各种天线的作用不同,大小不同。今天给大家说一下,天线是如何分类的。 1.按工作性质可…...
JavaScript:正则表达式
JavaScript:正则表达式 什么是正则表达式正则表达式语法定义正则表达式判断是否有匹配的字符串查找匹配的字符串 正则表达式匹配法则元字符边界符量词字符类 什么是正则表达式 正则表达式用于匹配字符串中字符的组合模式。 正则表达式会依据其自身语法,…...
【Linux】深挖进程地址空间
> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟悉【Linux】进程地址空间 > 毒鸡汤ÿ…...
SVM(支持向量机)-机器学习
支持向量机(Support Vector Machine,SVM)是一种用于分类和回归分析的监督学习算法。它属于机器学习中的一类强大而灵活的模型,广泛应用于模式识别、图像分类、自然语言处理等领域。 基本原理: SVM的基本原理是通过找到能够有效分…...
解决生成的insert语句内有单引号的情况
背景 因为Mybatis-Plus的saveBatch()方法的批量插入其实也是循环插入,而不是真正的一个SqlSession完成的批插,效率很低。所以我们在写批量插入的时候是自己实现了一个工具类去生成批量插入的sql再去执行,但是会遇到有些文本里有单引号导致插…...
【Linux 程序】1. 程序构建
文章目录 【 1. 配置 】【 2. 编译 】makefile编写的要点makefile中的全局自变量CMake编译依赖的库g编译 【 3. 安装 】 一般源代码提供的程序安装需要通过配置、编译、安装三个步骤; 配置。检查当前环境是否满足要安装软件的依赖关系,以及设置程序安装所…...
GLTF 编辑器实现逼真3D动物毛发效果
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 要实现逼真的3D动物毛发效果,可以采用以下技术和方法&…...
【Go语言入门:Go语言的方法,函数,接口】
文章目录 4.Go语言的方法,函数,接口4.1. 方法4.1.1. 指针接受者4.1.2. 值接收者和指针接收者有什么区别?4.1.3. 方法 4.2. 接口4.2.1. 接口定义 4.3. 函数4.3.1. 函数介绍 4.Go语言的方法,函数,接口 4.1. 方法 4.1.1…...
vue-cli3/webpack打包时去掉console.log调试信息
文章目录 前言一、terser-webpack-plugin是什么?二、使用配置vue-cli项目 前言 开发环境下,console.log调试信息,有助于我们找到错误,但在生产环境,不需要console.log打印调试信息,所以打包时需要将consol…...
企业品牌推广在国外媒体投放的意义和作用何在?
海外广告投放是企业在国际市场推广的重要战略,具有多种形式,包括社交媒体广告、短视频广告、电视广告等。这些广告形式在传播信息、推动销售、塑造品牌形象等方面发挥着独特的作用。 其中软文发稿是一种注重叙事和信息传递的广告形式,对于企…...
成都网站建设公司开发/seo代码优化步骤
相关函数:stat, open, chmod, chown, setuid, setgid头文件:#include <unistd.h>定义函数:int access(const char * pathname, int mode);函数说明:access()会检查是否可以读/写某一已存在的文件。 参数mode 有几种情况组…...
wordpress扫描附件到新浪图床/建站合肥网络公司seo
1 如何将字串 String 转换成整数 int?A. 有两个方法:1). int i Integer.parseInt([String]); 或i Integer.parseInt([String],[int radix]);2). int i Integer.valueOf(my_str).intValue();注: 字串转成 Double, Float, Long 的方法大同小异.2 如何将整数 int 转换成字串 S…...
商机互联做的网站和推广怎么样/seo网站优化系统
| | | | HEADING | | ---------------- | | | | | | ---------------- | | | | REPORT | | ---------------- | | | | | | ---------------- | | | | ENDING | | ---------------- | | | | | | ---------------- | | | |...
牡丹江整站优化/2024最火的十大新闻有哪些
这几天把c语言过了一遍,基本上算是入门了,常用语法、函数的使用。c语言是比较古老的语言了,很多系统的底层、工业控制软件都是使用C语言编写,过一遍之后觉得c语言屹立不倒是有原因。c程序员有一句话:使用c语言时间长了…...
wordpress屏蔽右键f12/cpu优化软件
前段时间花时间看了大半的《High Performance JavaScript》这本书啊,然后就开始忙项目了,庆幸最忙的一周已经熬过去了。由于空不出时间,这个月写的学习笔记也不多,忙完最苦X的一周,这两天晚上也算是挑灯夜读了…终于是…...
wordpress to joomla/冯耀宗seo教程
一、背景 目前公司支付平台集成了支付宝app、微信app、支付宝小程序、微信小程序、支付宝H5(扫码-主扫)、微信H5(扫码-主扫)、云闪付、建设钱包付等多种支付方式,今天给大家分享支付宝当面付的支付流程。 二、代码 目前我们当面付是把支付宝和微信集成在一个Controller…...