如今现在好一点的笔记本都自带英伟达独立显卡,对于一些简单的深度学习项目,是不需要连接服务器的,甚至数据量不大的话,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,一方面又不想用它。