李沐教pytorch第一课-被虚拟环境逼疯
前言
这是B站李沐《动手学pytorch》课程的笔记,本文是第一课的笔记-环境安装。本文可能会解决:
1.虚拟环境是什么?
2.软件依赖是什么?
3.深度学习框架是什么?
4.import pytorch报错
5.安装pytorch报错
如果你在学习机器学习,一定听说过tensorflow, pytorch, 百度飞桨等框架,这些框架的作用是方便你调用模型。
1.为什么不用Python?
没错,python是机器学习的编程语言,也可以制作模型,不过需要从0开始。
以造车做比喻,Python相当于原材料,框架相当于做好用Python做好了底盘和轮胎,直接用框架效率更高。
2.安装框架的方式
常识来说,安装软件就是给你一个安装包,下载就可以了。
框架不一样,每个框架是一个Python包(即一系列Python代码的打包),需要用Python安装包的命令pip。
安装pytorch,代码就是:
pip install pytorch
那么,这样就万事大吉了吗?当然没有。
你将遇到机器学习的第一个拦路虎——软件兼容(或者叫“软件依赖”)。
3.软件不兼容
当你兴冲冲地打开Jupyter notebook,准备大战身手时,你会发现——用不了。你输入:
import torch
报错,不断地报错。
于是你上网找答案,大神们告诉你计算机里面的Python版本错了,需要重新安装,有人却说是pytorch的版本太新,你的Python不兼容。
等等,到底是谁的错?
其实,并不是谁的错,就是婚姻结束,往往不是一个人的错误,是搭配在一起的错误。一般低级版本的Python配不上高级的pytorch,高级的Python不兼容低级的pytorch。
于是,你找解决方法,发现方法是———搭建虚拟环境。
4.啥是虚拟环境?
环境即不同软件生存的地方。
比如你的电脑安装了python,pytorch,photoshop等,它们共同存在于这个环境当中。那么,如果他们不能共存怎么办?
比如上文说到的,高级程序看不起低级程序,不肯合作来运行软件咋办?
那么,我们就搭建一个虚拟环境。让高级的程序和高级的程序在一起,低级和低级在一起。当然,电脑兼容不一定是这样搭配,总之,我们是把适合在一起的程序放到一起。
怎么放呢?
下面我们搭建一个虚拟环境(默认安装了conda或Anaconda):
conda create --name my_env python=3.9 -y
代码解释:
- conda是用来装软件的工具,和pip是一样的,只要安装了Anaconda就可以使用此命令
(一般安装jupyter notebook就会装这个软件,不展开讲)
- create –name 创建名为xx的虚拟环境
- my_env 虚拟环境的名字,可以随便起,英文的即可
- python=3.9 指定环境中python的版本,如果需要低版本的python,就更换版本号
- -y yes,即不用征求你的同意,不会跳出来选择让你“点击下一步”
5.启动虚拟环境
安装完虚拟环境了,可以启动了,输入一下代码:
conda activate my_env
此时,如果你在进入terminal(或shell),前面会出现一个括号,显示你已进入虚拟环境,类似如此:
(d2l) lxz/Desktop >
6.在虚拟环境中干啥?
6.1 安装软件
虚拟环境就是一个空壳,现在你可以往里填东西。填什么东西呢?即那些互相兼容的软件(或者软件版本),你可以自由搭配软件,比如:
pip install torch==1.12.0
pip install torchvision==0.13.0
pip install d2l==0.17.6
没错,以上代码是李沐《动手学深度学习》的安装代码,==后面代表是版本号,解决的是前文提到的兼容问题。
为什么版本号有大有小呢?因为不同软件开发的团队不同,版本号也用的不一致。我们只需要知道上面这三个软件对应三个版本号能够兼容即可。
如何能知道哪些版本的软件兼容呢?答案是我也不知道。
软件行业是动态发展的,每天都几乎有新版本出现,淘汰旧版本。如果停留在旧版本的软件,就跟不上潮流。就像iPhone 4的很多程序无法在iPhone 14手机上运行一样,因为ios程序已更迭多代。
6.2 执行代码
如果安装完所需的框架和软件包,就可以愉快地玩耍了。用以下代码打开jupyter notebook:
jupyter notebook
7.退出虚拟环境
最后,要退出本环境,回到最初的设定,执行代码:
conda deactivate