一种为不联网(离线)电脑配置深度学习环境的方法

1.场景描述

目标电脑为A,无法联网,但是硬件好,需要配置深度学习环境。
家用电脑为B,可以联网,硬件条件仅满足日常办公。
下面以Tensorflow为例,提供一种环境配置的思路。tensorflow也可以是pytorch等深度学习框架。

2.思路

2.1统一操作系统

首先我们要保证目标机A与家用机B存在相同的系统,例如:
A机:Linux ubuntu 16.04
B机:Windows
这时可以在B机的Windows系统安装Linux ubuntu 16.04虚拟机,这个虚拟机还可以安装虚拟机工具,用于Windows和虚拟ubuntu之间的文件传输,具体方法可以自行搜索,资料很多,不再赘述。

2.2准备Anaconda

Anaconda用于管理各种依赖库,可以提供独立的项目环境。直接去官方网站下载就行,下载Linux的安装包,如果是在ubuntu上下载,那么直接点下载,会自动适配ubuntu的安装文件,如果是在windows上下载,那么需要选择linux安装文件。特别地,arm版本是用于边缘设备的。完成下载之后,将Anaconda安装到A机和B机的Linux系统

2.3准备深度学习框架(重要)

安好anaconda后,在A和B机的Linux创建conda环境、激活该环境。以配置Tensorflow为例,我用的python版本为3.7.
创建、激活conda的常用命令不再赘述

接下来,需要在这个可联网B机的conda环境中下载tensorflow依赖库,以tensorflow2.6为例:
在B机创建的conda环境中输入2条命令:

mkdir tf26
pip download -d tf26 tensorflow==2.6 -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=180

这里用到了 pip的download命令,用于下载某个包到指定的路径。download命令通过-d来指定存放路径,刚才指定的是tf26这个文件夹。download会根据操作系统、python版本进行自动适配,将tensorflow2.6及其所需要的一切依赖包全都下载到tf26目录。-i指定了临时从清华镜像上进行下载,速度很快。–default-timeout=180的意思是网络连接的超时延迟时间,单位是秒。网上资料很多,大家可以自行搜索pip download和pip临时更换镜像的使用方法,这里不再赘述。

下面将下载好的环境通过合理的方式转移到不可联网的A机上,然后在A机的conda环境中进行安装
此时,tf26文件夹应该在不可联网的A机上,然后需要写一个requirements.txt的文件,文件的每一行是tf26文件夹里的一个包名称。将requirements.txt放在tf26文件夹中,用conda进入到tf26目录下,通过pip进行安装即可,在不可联网A机建好的conda环境中执行下列命令:

pip install -r requirements.txt

2.4准备cudatoolkit和cudnn

基本上不论是tensorflow还是pytorch都需要cuda工具套件和神经网络加速包,这并不要求一定要在真机上安装,我们需要在caonda环境中安装cudatoolkit、cudnn
以tensorflow2.6为例,需要安装cudatoolkit11.2和cudnn8.1。因此,需要在可联网的B机上,手动从国内镜像上下载cudatoolkit和cudnn,进行离线安装。B机可以联网,用windows或虚拟机ubuntu都行。

镜像网站:
我推荐手动下载的话直接从阿里镜像下载。
进入https://mirrors.aliyun.com/anaconda/cloud/conda-forge/,选linux-64/,如果进不去就刷新一下,会有很多很多包,是按照名称字母顺序排列的。找到cudatoolkit-11.2xxx下载,找到cudatoolkit-dev-11.2xxx下载(python3.7就下载带py37的),找到cudnn-8.1xxx下载。完成之后将三个包转移到不可联网的A机,执行命令安装

conda install --use-local cudatoolkit-11.2xxx cudatoolkit-dev-11.2xxx cudnn-8.1xxx
# xxx是后面完整的包名

3.结论(精简思路)

通过该方式可以为离线的主机快速配置深度学习环境,不管是conda还是miniconda都行得通,但前提是要求有一个可联网的系统与离线系统相同,可以使用windows虚拟机。

思路整理:
A离线,B可联网,目标是在A上配置深度学习环境:
用B的虚拟机建一个与A相同的系统,并在AB创建conda环境;
在B上,用pip的download下载tensorflow(或pytorch等)包,并转移到A上;
在A上pip install -r 进行安装;
在B上,从阿里镜像手动下载对应版本的cudatoolkit和cudnn,并转移到A上;
在A上conda install --use-local进行安装。
最后测试是否可用。
完成配置


上面的内容可能会有一些帮助,但是我觉得最方便的环境配置方法应该还是docker。无论是离线还是在线,使用docker部署环境都非常的方便。希望对您有所帮助。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值