pytorch介绍及环境配置

本篇起,将开始更新关于神经网路相关内容,当前使用Pytorch框架,同时其他文章也会不定时更新。

pytorch简介

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。
​ 2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。

人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

​ 现在的主流深度学习框架,主要是 Google 系的 TensorFlow 以及 Facebook 系的 Pytorch,其他还有 Keras,Caffe, 微软的 CNTK 等。

Python环境

​ Pytorch建议选择Python3.6版本,更高的版本会存在一些未知的错误。

​ Python环境我们选用使用Anconda进行管理。

Anconda安装

​ Anaconda,中文大蟒蛇,是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项

​ conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换

​ 下载后安装即可,需要记住安装路径,值得注意的是:当进行到下面的页面时,不要选添加路径,添加环境路径可能会导致一些错误,安装python可以勾选,目前安装的版本是3.9.7,图片是借用的所以是3.6.

​ 然后我们需要手动添加环境路径,将下列路径添加到系统环境变量中,E:\Anaconda3是我的安装路径

1
2
3
E:\Anaconda3\Scripts
E:\Anaconda3\Library\bin
E:\Anaconda3\Library\mingw-w64\bin

​ 添加完成之后,你可能需要重启一下

​ 然后你可以在cmd中验证安装成功

1
2
3
4
#测试anconda
conda --version
#测试python
python

添加虚拟环境

​ 我们上面测试的python为anconda的base环境

​ 我们需要创建pytorch需要的环境,name是你创建环境的名字,最好使用小写,后面是要安装的python版本,之后会创建对应的环境并自动下载对应的python版本

1
conda create -n name python=3.6

​ 当我们需要使用这个环境时可以使用以下

1
activate name

​ 运行后我们就能看到命令行最前面出现了(name),我们再使用 python 就可以看到当前的版本已经是刚才安装的版本了

激活 base 环境可以只用 activate

pychorm配置

​ 我们使用 pychorm 作为编辑器,我们只需要将 Anconda 的虚拟环境添加到里面就可以方便的切换环境了,这里就不再描述了。

Pytorch安装

进入之后根据需要选择对应的版本,有GPU可以选择安装CUDA的,可以使用GPU加速运算,建议使用pip安装,安装时要切换到对应的环境下,复制最后一行并执行即可

安装好后可以简单测试一下

1
2
3
python
import torch
torch.cuda.is_available()

如果有返回值就说明安装成功了,返回值为True就说明你的cuda是可用的,如果你没有对应的N卡,安装的是cpu版本的返回值就是False,这并不影响。

后面我们还会用到一些包可以先安装上

1
2
pip install tensorflow
pip install tensorboard

JupyterLeb相关

多核安装

​ 多个环境如果要使用jupyterlab可以将不同环境的内核添加到jupyterlab中,这样就不用启动不同环境下的jupyterlab了,同时只需要在 base 环境中安装jupyterlab即可,其他环境只需要安装jupyter notebook。

1
2
3
conda install nb_conda
pip install ipykernel
python -m ipykernel install --user --name new_env --display-name "新环境"

最后将kernel信息写入jupyter启动项中,—name后为虚拟环境名称,—display-name为展示出来的名称

代码自动补全功能

1
2
pip install jupyter-lsp
pip install python-lsp-server[all]

启动jupyterab,在插件中搜索lsp,点击@krassowski/jupyterlab-lsp下的install安装

重新进入jupyter lab,输入代码时按tab键,就可以使用代码提示啦 。若想实现jupyter notebook中类似Hinterland mode的自动提示,还需进行下面的设置

依次点击Settings—>Advanced Settings Editor,选择Code Completion,在右侧输入如下代码,并保存,即可开启Hinterland mode

1
2
3
{
"continuousHinting": true
}

代码格式化

安装codeformatter

1
2
pip install jupyterlab_code_formatter
pip install autopep8 isort

,重启jupyterlab后,“Settings” > “Advanced Settings Editor” > “Jupyterlab Code Formatter”

在右侧的 “User Preferences” 中输入一下内容

1
2
3
4
5
6
7
8
{
"preferences": {
"default_formatter": {
"python": "autopep8",
"R": "styler"
}
}
}

不设置快捷键需要右键单击代码块然后选择Format cell进行格式化 比较麻烦

Advanced Setting Edtior 下选择Keyboard Shortcuts,同样在右侧 “User Preferences” 中输入一下内容

1
2
3
4
5
6
7
8
9
10
11
{
"shortcuts": [
{
"command": "jupyterlab_code_formatter:autopep8",
"keys": [
"Ctrl Alt L"
],
"selector": ".jp-Notebook.jp-mod-editMode"
}
]
}