Linux服务器配置GPU版本的pytorch Torchvision TensorFlow
最近在Linux服务器上配置项目,项目需要使用GPU版本的pytorch和TensorFlow,而且该项目内会同时使用TensorFlow的GPU和CPU。
在服务器上装环境,如果重新开始,就需要下载很多依赖包,而且如果直接在系统上安装包,可能会和服务器上的其他包发生冲突,因此使用Anaconda创建虚拟环境来管理项目的依赖包。Anaconda的安装可以去清华大学的镜像下载,速度比较快,选择对应的版本就可以了 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 。我需要下载python3.6对应的Anaconda可以对照下面这张图片来查看,选择Anaconda3-5.2.0版本就可以了。(但是其实我下载成了anaconda2,不过并不影响后续使用)
Anaconda下载之后会在~/.bashrc中添加一条环境变量。如果首次运行conda命令找不到,就source ~/.bashrc。
配置好Anaconda后,如果要创建虚拟环境,重新下载包也需要很麻烦的操作,而且需要对照以前的项目进行一一下载。这太捞了,我们考虑直接将本地项目的anaconda环境打包好上传到服务器上,就可以使用本地的虚拟环境了。具体做法是,首先到本地的Anaconda环境目录下,我的是/home/timber/anaconda2/envs ,这个目录下就是用户创建的anaconda环境。直接打包
tar -cvf name.tar your_env_name/
然后将这个文件用scp上传到服务器下的(anaconda2_dir)/envs下,
scp name.tar remote_username@remote_ip:anaconda_dir/envs
接着在服务器的anaconda的envs目录下解压name.tar
tar -xvf name.tar
环境就移植到服务器上了,可以在服务器上通过conda env list检验是否有我们刚移植的环境。
本地安装的环境是cpu版本的pytorch和TensorFlow,首先将pytorch卸载
conda activate project #激活环境
conda uninstall pytorch
然后去清华大学的镜像下下载pytorch(因为官方下载超级慢)。需要首先配置清华大学镜像。
依次运行以下命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
上面三条是配置清华镜像源,下面一条是配置pytorch源。然后去到官网,选择你对应的pytorch版本,找到下载命令,比如,最新版本的Pytorch在cuda10下面的官方下载命令是
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
但是,不要用这条命令,由于添加了镜像源,我们去掉上面命令的-c pytorch,运行
conda install pytorch torchvision cudatoolkit=10.1
就可以用清华镜像下载了。如果要下载历史版本的pytorch,以1.0为例,就用
conda install pytorch==1.0 torchvision cudatoolkit=10.1 -c pytorch
安装好之后,torchvision不一定能配套使用,因为Torch已经更换了,所以可能会存在版本不一致的问题,卸载torchvision,然后下载对应版本的torchvision。
出现的第一个问题是torchvision下没有totensor,重装0.2.0的torchvision。
第二个问题是This application failed to start because it could not faind or load the Qt platform plugin "xcb" in "".
Reinstalling the application may fix the problem.这个提示告诉我们在Qt平台插件中找不到XCB,提示我们重装,那我们就重装呗,重装pyqt
conda uninstall pyqt
conda uninstall qt
conda install pyqt
我的项目使用了GPU版本的Tensorflow,需要装GPU版本的TensorFlow。
这里还有个问题是,人脸识别和车辆检测都使用了TensorFlow,一个是CPU版本,一个是GPU版本,会有冲突吗。TensorFlow的GPU版本是可以跑cpu的,所以先把之前的TensorFlow卸载掉。下载了GPU版本的
conda install tensorflow-gpu==1.12.0
但是这里同时下载了cuda的9.0的toolkit,之前下载torch的时候使用了cuda10的toolkit,不知道会怎么样。测试之后发现没有冲突。
现在在这个项目下,有一个GPU的版本,有一个cpu的版本,同时也有两套对应的anaconda环境与之对应,当执行GPU版本时,需要切换到anaconda的GPU环境。这种切换可以是在命令行中
conda activate gpu
也可以是在pycharm中进行project intepreter设置,选中anaconda/envs/project/bin/python3.6,就是选中了该环境。
至此,还剩最后一个问题,GPU版本的TensorFlow是默认使用gpu版本,但是GPU版本的项目有一块是需要使用cpu版本的tensorflow的,那么应该如何设置?
Linux服务器配置GPU版本的pytorch Torchvision TensorFlow的更多相关文章
- tensorflow 一些好的blog链接和tensorflow gpu版本安装
pading :SAME,VALID 区别 http://blog.csdn.net/mao_xiao_feng/article/details/53444333 tensorflow实现的各种算法 ...
- 【转】Ubuntu 16.04安装配置TensorFlow GPU版本
之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...
- 学习笔记TF046:TensoFlow开发环境,Mac、Ubuntu/Linux、Windows,CPU版本、GPU版本
下载TensorFlow https://github.com/tensorflow/tensorflow/tree/v1.1.0 .Tags选择版本,下载解压. pip安装.pip,Python包管 ...
- 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)
一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...
- 说说Windows7 64bits下安装TensorFlow GPU版本会遇到的一些坑
不多说,直接上干货! 再写博文,回顾在Windows7上安装TensorFlow-GPU的一路坑 Windows7上安装TensorFlow的GPU版本后记 欢迎大家,加入我的微信公众号:大数据躺过的 ...
- Windows7 64bits下安装TensorFlow GPU版本(图文详解)
不多说,直接上干货! Installing TensorFlow on Windows的官网 https://www.tensorflow.org/install/install_windows 首先 ...
- Ubuntu 14.04 64bit 安装tensorflow(GPU版本)
本博客主要用于在Ubuntu14.04 64bit 操作系统上搭建google开源的深度学习框架tensorflow. 0.安装CUDA和cuDNN 如果要安装GPU版本的tensorflow,就必须 ...
- 安装GPU版本的tensorflow填过的那些坑!---CUDA说再见!
那些坑,那些说不出的痛! --------回首安装的过程,真的是填了一个坑又出现了一坑的感觉.记录下了算是自己的笔记也能给需要的人提供一点帮助. 1 写在前面的话 其实在装GPU版本的tensorfl ...
- Ubuntu 16安装GPU版本tensorflow
pre { direction: ltr; color: rgb(0, 0, 0) } pre.western { font-family: "Liberation Mono", ...
随机推荐
- atx测试框架实现手机应用UI自动化测试
最近工作中遇到游戏APP需要实现UI自动化测试,这个app中真的是典型的混合App,有Android原生控件,有webview控件,以及游戏操作页面.研究了Appium,发现appium实现跨应用操作 ...
- apache和nginx那点事儿--阻塞和异步
先明白的事儿:当一个程序在执行的时候,一般会创建一个进程,也可以有多个进程.一个进程至少会创建一个线程,多个线程共享一个程序进程的内存.程序的运行最终是靠线程来完成操作的.线程的数量跟CPU核数有关, ...
- SUSE Linux Enterprise 11 离线安装 DLIB 人脸识别 python机器学习模块
python机器学习模块安装 我的博客:http://www.cnblogs.com/wglIT/p/7525046.html 环境:SUSE Linux Enterprise 11 sp4 离线安 ...
- 二、通过工厂方法来配置bean
调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节. 要声明通过静态方法创建的 Bean, 需要在 Bean ...
- fgets汉字问题
#include<stdio.h> #include <stdlib.h> #define N 10 int main(int argc, char *argv[]) { FI ...
- java上传组件commons-fileupload的一些使用方法
在 http://www.apache.org,下载commons-fileupload-1.2.1.jar包,并把这个包加到工程中,以下是记录这个上传组件的一些使用方法. html测试页面,实现上传 ...
- LIBCMTD.lib与libcpmtd冲突的解决方法。
error: 1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int) ...
- C语言实现银行家算法
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h& ...
- 学习CSS之用CSS绘制一些基本图形
一.三角形 如下图,通过设置 border 的大小和颜色可以形成四个三角形: 上图对应的代码为: /* 三角形 */ .triangle { width: 0; height: 0; ...
- js 浏览器兼容问题及解决办法
JS中出现的兼容性问题的总结 1.关于获取行外样式 currentStyle 和 getComputedStyle 出现的兼容性问题 我们都知道js通过style不可以获取行外样式,当我们需要获取行 ...