最近在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的更多相关文章

  1. tensorflow 一些好的blog链接和tensorflow gpu版本安装

    pading :SAME,VALID 区别  http://blog.csdn.net/mao_xiao_feng/article/details/53444333 tensorflow实现的各种算法 ...

  2. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  3. 学习笔记TF046:TensoFlow开发环境,Mac、Ubuntu/Linux、Windows,CPU版本、GPU版本

    下载TensorFlow https://github.com/tensorflow/tensorflow/tree/v1.1.0 .Tags选择版本,下载解压. pip安装.pip,Python包管 ...

  4. 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)

    一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...

  5. 说说Windows7 64bits下安装TensorFlow GPU版本会遇到的一些坑

    不多说,直接上干货! 再写博文,回顾在Windows7上安装TensorFlow-GPU的一路坑 Windows7上安装TensorFlow的GPU版本后记 欢迎大家,加入我的微信公众号:大数据躺过的 ...

  6. Windows7 64bits下安装TensorFlow GPU版本(图文详解)

    不多说,直接上干货! Installing TensorFlow on Windows的官网 https://www.tensorflow.org/install/install_windows 首先 ...

  7. Ubuntu 14.04 64bit 安装tensorflow(GPU版本)

    本博客主要用于在Ubuntu14.04 64bit 操作系统上搭建google开源的深度学习框架tensorflow. 0.安装CUDA和cuDNN 如果要安装GPU版本的tensorflow,就必须 ...

  8. 安装GPU版本的tensorflow填过的那些坑!---CUDA说再见!

    那些坑,那些说不出的痛! --------回首安装的过程,真的是填了一个坑又出现了一坑的感觉.记录下了算是自己的笔记也能给需要的人提供一点帮助. 1 写在前面的话 其实在装GPU版本的tensorfl ...

  9. Ubuntu 16安装GPU版本tensorflow

    pre { direction: ltr; color: rgb(0, 0, 0) } pre.western { font-family: "Liberation Mono", ...

随机推荐

  1. 2018CCPC吉林赛区(重现赛)部分题解

    The Fool 题目链接 Problem Description The Fool is numbered 0 – the number of unlimited potential –and th ...

  2. Python使用requests发送post请求的三种方式

    1.我们使用postman进行接口测试的时候,发现POST请求方式的编码有3种,具体的编码方式如下: A:application/x-www-form-urlencoded ==最常见的post提交数 ...

  3. Asp.Net Core 混合全球化与本地化支持

    前言 最近的新型冠状病毒流行让很多人主动在家隔离,希望疫情能快点消退.武汉加油,中国必胜! Asp.Net Core 提供了内置的网站国际化(全球化与本地化)支持,微软还内置了基于 resx 资源字符 ...

  4. Java的变量与常量

    常量: 在程序运行期间,固定不变得量. 常量的分类: 字符串常量:凡是用双引号引起来的部分,叫做字符串常量.例如:“abc”.“Hello”.“123”. 整数常量:直接写上的数字,没有小数点.例如: ...

  5. Hibernate(五)

    ================================criteria(QBC)查询========================QBC,(容器)又名对象查询:采用对象的方式(主要是cri ...

  6. Servlet乱码问题解决

    对于请求参数的编码处理基本上分为get和post两种情况. 1.POST index.html <!DOCTYPE html> <head> <meta http-equ ...

  7. 小程序图片 mode 设置为 widthFix 图片显示瞬间竖向拉伸变形闪烁

    官方文档中 mode="widthFix"   宽度不变,高度自动变化,保持原图宽高比不变,即设置图片宽度而高度自适应. 但是在实际开发中发现图片在初始加载时瞬间竖向拉伸变形闪烁然 ...

  8. shell命令之一天一见:grep

    一. 简介 grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 ...

  9. 机器学习总结-bias–variance tradeoff

    bias–variance tradeoff 通过机器学习,我们可以从历史数据学到一个\(f\),使得对新的数据\(x\),可以利用学到的\(f\)得到输出值\(f(x)\).设我们不知道的真实的\( ...

  10. 通过Python包来剪枝、蒸馏DNN

    用 Distiller 压缩 PyTorch 模型 作者: PyTorch 中文网发布: 2018年7月15日 5,101阅读 0评论 近日,Intel 开源了一个用于神经网络压缩的开源 Python ...