一台伺服器上装两个深度学习框架可以么?
实验室配了一台伺服器跑深度学习,想同时装TensorFlow和pytorch可以么。该怎么装呢
可以
实验室配了一台伺服器跑深度学习,想同时装TensorFlow和pytorch可以么。
可以。
该怎么装呢
- 安装NVIDIA驱动
- 安装CUDA和cuDNN
- 安装conda
- 使用pip安装
假定你已经做完了步骤123,如果没有,参考下面的链接3。
第4步的命令如下:
pip install torch tensorflow-gpu
参考链接:
- https://www.tensorflow.org/install/gpu
- https://pytorch.org/
- https://dl.ypw.io/ubuntu-install-guide/#python
当然可以,一个框架的两个版本都可以。推荐使用anaconda傻瓜式搭建。
更多环境搭建教程可以加入mana社区查看
t.manaai.cn?t.manaai.cn当然可以。
用conda创建多个环境,每个环境下装一个框架,甚至同一个框架的不同版本都行。
最简单的办法,利用conda来就行管理
查看环境
conda info --e
创建环境:conda create -n 环境名称 python=版本
conda create -n env_name python=3.6
激活环境:conda activate 环境名称
conda activate env_name
当然可以,装十个都没有问题。如果互相之间有冲突,就用docker相互隔离开。
这个属于基本操作,完全可行。
甚至还可以安装一个框架的多个版本,利用anaconda或者vietualenv。
可以的,可以参考我最近出了一个博客《『带你学AI』开发环境配置之Windows10篇:一步步带你在Windows平台开发深度学习(TensorFlowPyTorchMXNet_CPUGPU)》:
小宋是呢:『带你学AI』开发环境配置之Windows10篇:一步步带你在Windows平台开发深度学习?zhuanlan.zhihu.com基于Conda来管理的Python环境,其实不只是多个深度学习开发框架,也支持GPU与CPU版本安装,同时也支持多个版本Cuda。原则是同一个版本Cuda下的环境都可以同时安装在同一个Python环境中,不同的Cuda版本,需要配合Conda新建新的环境来管理组织。
安装起来也很简单,手把手教学。好文推荐,觉得有用别忘点赞收藏哈。。
下面举个例子演示如何同时安装TensorFlow2、PyTorch与MXNet的GPU版本。具体操作步骤可以翻阅我的博客,这里简单介绍安装流程
1.使用conda新建python环境与替换conda源与pip源(换源操作参考全文):
conda create -n dl python=3.7
2.conda安装「cudatoolkit」与「cudnn」(版本分别为10.1与7,为了同时兼容TensorFlow2、PyTorch与MXNet)
conda activate dl
conda install cudatoolkit=10.1 cudnn=7
3.安装TensorFlow2、PyTorch与MXNet
pip install tensorflow==2.3
conda install pytorch=1.7.1 torchvision torchaudio
pip install mxnet-cu101==1.7.0
4.测试是否安装成功
这个内容可以参考之前我写的一篇文章:《『带你学AI』测试深度学习框架GPU版本是否正确安装方法:TensorFlow,PyTorch,MXNet,PaddlePaddle》
https://xiaosongshine.blog.csdn.net/article/details/108850784?xiaosongshine.blog.csdn.net当然可以。如果两个框架兼容,那么直接安装就行。如果不兼容那么通过conda来创建两个虚拟环境,两个框架分别装到两个环境中,需要用哪个切换就是。
https://zhuanlan.zhihu.com/p/123921247
当然可以啦,记得最开始入炼丹的坑的时候,还没有环境隔离的概念,到训练伺服器上一顿操作,我是爽了,可是隔壁同事一跑训练,怎么炸了,opencv版本不兼容,protobuf版本不对了,顿时无语。后面慢慢接触到了conda,对于Python的训练环境隔离还做得不错,但是对于caffe这种老一点,更偏向于C训练和推理的框架,问题依旧。后面接触到了docker,从此打开了新世界的大门,后面主要就是三个docker ,一个caffe,一个mxnet, 一个pytorch。主要注意和别人协商好显卡的使用就没问题,从此开启了炼丹的爬坑之旅。
肯定可以的,题主或许是对两个框架共存的兼容与冲突方面存在担忧,简单来说有两个解决方案:Anaconda和Docker
具体怎么做 ↓
1.用 Anaconda 创建两个不同深度学习框架的虚拟环境
Anaconda 是一个 python 的发行版,包括了 python 和很多常见的软体库, 和一个包管理器conda 。也就是说安装了 Anaconda ,会自动的帮你配置好一个带有常用的第三方库的 python 运行环境,你需要的是使用 Anaconda 去创建不同的虚拟环境,每个环境可以使用不同的版本的 python ,并在其 python 环境基础下使用 pip 任意安装你所需要的第三方库,包括你所说的不同的深度学习框架 Tensorflow 和 Pytorch ,不同的虚拟环境之间的运行互不干扰,可以使用命令进行任意的切换。下面简单讲一下怎么用:
(1)安装 Anaconda
以下是我觉得比较详细的几个Linux下安装Anaconda的教程,可以参考
阿飞:深度学习 | Linux安装Anaconda?zhuanlan.zhihu.comIT考试网:Anaconda下载和windows/Macos/Linux环境下安装步骤及使用教程(小白专用)?zhuanlan.zhihu.com在命令行终端下可以使用以下的命令搭建你需要的环境
(2)创建或者删除虚拟环境
创建 ↓
$ conda create –name & &
比如说创建一个python版本为3.6的虚拟环境:
$ conda create -n py36 python==3.6
默认情况下,新创建的环境将会被保存在 /Users/当前用户名/anaconda3/env 目录下,
执行此操作以后,你就可以在该目录 anaconda3/env/py36/bin 下找到对应的 python3.6
删除 ↓
$ conda remove –name & –all
举例,删除名称为py36 的虚拟环境:
$ conda remove -n py36 --all
(3)激活虚拟环境
创建了虚拟环境后,需要激活切换到该虚拟环境,否则依然用的是系统的 python 环境,激活虚拟环境的命令如下:
$ conda activate &
$ conda activate py36
激活后你会看到
命令行左侧的(base)变成了(py36)这就说明已经切换到 py36 的虚拟环境下
当然你可以使用以下命令退出该虚拟环境
$ conda deactivate
命令行左侧变回原来的(base)
(4)在当前虚拟环境下使用 pip 安装深度学习框架
首先激活你需要安装 pytorch 的虚拟环境,并使用 pip install 命令安装对应的框架
比如安装1.1版本的 pytorch:
$ pip install torch==1.1
如果安装 pytorch 的过程中容易意外中断,推荐使用豆瓣源,可以加上 -i 临时指定源
$ pip install torch==1.1 -i
https://pypi.douban.com/simple
同样激活另一个虚拟环境,并使用 pip 安装你需要的 TensorFlow,就满足了你需要的两种框架共存的需求了,切换到对应环境下的 python,就可以在一台伺服器上使用不同的框架了。
2.使用 Docker 建立两个不同深度学习框架的容器
(1)基本概念
image,镜像,是一个个配置好的环境。
container,容器,是image的具体实例。
image和container的关系,相当于面向对象中类与对象的关系。
(2)使用流程
安装docker&>&>安装nvidia-docker&>&>下载镜像&>&>启动镜像、建立容器、映射目录&>&>在目录下运行程序
(3)安装Docker
现有很多安装教程,可以自己研究一下
https://www.cnblogs.com/leton/p/11674796.html
https://cloud.tencent.com/developer/article/1491566
https://www.cnblogs.com/bingmang/p/9813686.html
https://github.com/NVIDIA/nvidia-docker
http://blog.chinaunix.net/uid-10915175-id-4443127.html
(4)使用 docker 拉取镜像
Deepo 是一个几乎包含所有流行深度学习框架的 Docker 映像,拥有一个完整的可复制的深度学习研究环境。它涵盖了当前最流行的深度学习框架:theano,tensorflow,sonnet,pytorch等等
具体安装某一种框架的方式
$ docker pull ufoym/deepo
安装 TensorFlow 的镜像
$ docker pull ufoym/deepo:tensorflow
如果不想使用 Deepo,当然也可以安装其他镜像,比如pytorch的官方镜像
docker pull pytorch/pytorch:1.1.0-cuda10.0-cudnn7.5-devel
#显示已下载的所有镜像
$ docker images
#映射目录 启动镜像 调用GPU
-it 以交互模式运行 --gpus=all 调用系统中的 gpu 映射本地目录到容器中的 /workspace 路径
$ docker run -it --gpus=all -v /home/用户名/你要映射的本地目录_dir:/workspace pytorch/pytorch:1.1.0-cuda10.0-cudnn7.5-devel