栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

PyTorch学习笔记(一) PyTorch的安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PyTorch学习笔记(一) PyTorch的安装

PyTorch的安装(服务器中安装,远程调用)

PyTorch学习笔记系列是笔者跟随datawhale组队学习的学习成果,也包含了自学PyTorch的一些笔记和总结。

由于笔者使用Macbook作为开发机,性能较差,因此需要连接到有GPU的服务器中进行开发,因此本文主要介绍服务器中PyTorch环境的部署与远程连接方法,适用于自己电脑没有gpu,并且有服务器可用的朋友,服务器默认已通过ssh连接。

一、安装Anaconda/Miniconda

Anaconda在windows环境更适合,因为其本身有GUI以及提供了像powershell这样有效的终端工具,另外的好处是Anaconda下载下来后已经包含了很多常用的包,因此建立新环境时有些包不用再单独下载。
不过在Linux服务器中,如果磁盘空间较小的话,可以使用Miniconda,其用法和Anaconda相同,相当于纯净版Anaconda。详见Anaconda与Miniconda对比
以Miniconda为例,可以在该链接中使用wget或curl等工具下载Miniconda,注意下载的python版本和系统Python3的版本对应,强烈建议下载完成后进行校验,因为如果下载有误的话后续出bug可能不会想到是下载这边出的问题。以上链接给的校验算法是SHA256,可以使用以下命令进行校验

(MacOS)shasum -a 256 
(Linux)sha256sum 

生成的校验码与下载链接中的校验码一致后使用命令sh 打开安装文件。这里有个要注意的是在安装时选yes和no的时候到后面会选择是否将conda默认配置写入bashrc中,默认是no,建议选择yes,这样就会自动配置环境变量了。
安装完成后需要配置pytorch环境,可参考datawhale的pytorch安装攻略,以下命令使用torch-gpu作为虚拟环境的名字,可以自定义命名。新建环境时可以不选择python版本,安装pytorch时会自动推理适配的版本,如果有其他依赖的话建议选择相应版本。

conda create -n torch-gpu
conda activate torch-gpu

在安装gpu版的pytorch之前,需要了解自己系统的驱动在什么版本,可以使用nvidia-smi -L查看显卡信息,并在NVIDIA官网下载对应显卡的最新驱动。显卡型号决定了能安装到哪个版本的驱动,驱动版本决定了最高能安装到哪个版本的cuda
驱动版本与cuda版本对应关系:

接下来在PyTorch官网找自己的系统及cuda版本对应的PyTorch,拷贝conda命令把cudatoolkit,pytorch以及其他torch包可以一并安上。(注意conda不同的虚拟环境可以有不同的cuda版本,但conda环境下的cuda版本要小于等于系统的cuda版本,否则会在一些情况下报错,因为conda安装的cudatoolkit并不是完整版的cuda)

注意,安装完conda以后建议后续在终端上调用python时都用conda虚拟环境中的python,而尽量不要更改系统的python版本,尤其是不要将python命令指向python3,否则一些依赖python开发的系统调用会报错,如ufw命令。可以使用which python命令查看当前用的是哪里的python。

二、使用jupyter notebook server远程访问服务器

为了实现在本地的浏览器中写代码,在远程服务器中运行代码,还需要在服务器中配置jupyter notebook server,这一部分可以参考jupyter notebook官网。首先安装jupyter notebook

conda install jupyter notebook

然后设定一个密码(notebook5.0以上支持,5.0以下需要通过ipython设定密码,详见官网)

jupyter notebook password

这时会提示生成密码在一个jupyter_notebook_config.json的文件里,可以查看文件复制密码,注意前缀也要复制。然后使用命令生成一个jupyter notebook的配置文件

jupyter notebook --generate-config

编辑生成的配置文件,在顶部添加以下命令,密码替换为自己生成的密码,端口可自定义。

# Set options for certfile, ip, password, and toggle off
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:bcd259ccf...'
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999

接下来可以通过浏览器中输入域名或IP加冒号端口号如127.0.0.1:9999来访问远程服务器。

注意,使用某些商业云服务器如阿里云时,需要在防火墙中开放相应的端口。自己的服务器如果遇到远程访问不了时也需要查看端口是否开放。另外,如果服务器是使用类似花生壳这样的软件进行内网穿透做成的,那就需要改变花生壳配置,改为主机映射,这样可以开放所有端口,因为花生壳默认是开放一个端口通过ssh协议使用。

三、PyCharm连接服务器

PyCharm连接服务器与jupyter notebook的不同点是,notebook更轻量级,用来测试深度学习的模型很方便,但是notebook文件间关联性差。Pycharm的好处是不但可以使用服务器的环境来跑当前项目,还可以把当前项目整体部署在服务器中,并且文件间关联性强,适合复杂项目开发。这里不记录pycharm的项目部署,详细可以学习pycharm->deployment的使用,只记录pycharm如何使用服务器的环境来跑本地项目。
在设置中找到project interprete,点击箭头指向的设置按钮,选择add

选择SSH interpreter,并输入自己服务器的信息,将Python路径填写进去,注意,conda的python在anaconda/envs/env_name/python里,具体可以activate env_name,然后which python来确认python的路径

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/321022.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号