最近在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. Java Swing图形界面开发

    本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...

  2. tensorflow 案例

    import tensorflow as tf import numpy as np #添加一层inputs输入的数据,in_size为输入节点数,out_size为输出节点数,下一个为激励函数 de ...

  3. ArrayList与LinkedList比较

    ArrayList与LinkedList比较 1.实现方式 ArrayList内部结构为数组,定义如下: /** * The array buffer into which the elements ...

  4. 透过现象看webpack处理css文件中图片路径转换的具体过程

    webpack是目前使用比较流行的一个前端模块打包器,前端的任何资源都被当成一个模块来处理,如图片.css文件等等.在基于webpack构建的前端项目中,一般都会配置有关css文件处理的规则,这其中也 ...

  5. Iptables和Firewall-selinux

    一.Iptables防火墙 ---------- **三表五链:**三表: filter过滤表 nat转换表 mangle表五链: PREROUTING--->在进行路由选择前处理数据包 INP ...

  6. 【阿里云IoT+YF3300】13.阿里云IoT Studio WEB监控界面构建

    Web可视化开发是阿里云IoT Studio中比较重要的一个功能,通过可视化拖拽的方式,方便地将各种图表组件与设备相关的数据源关联,无需编程,即可将物联网平台上接入的设备数据可视化展现. 目前支持的组 ...

  7. LoadIcon的使用

    LoadIcon msdn: Loads the specified icon resource from the executable (.exe) file associated with an ...

  8. Spring Cloud第十三篇 | Spring Boot Admin服务监控

    本文是Spring Cloud专栏的第十三篇文章,了解前十二篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Clo ...

  9. CCF_ 201312-2_ISBN号码

    水. #include<cstdio>#include<string>#include<iostream>using namespace std; int main ...

  10. Generator - Python 生成器

    Generator, python 生成器, 先熟悉一下儿相关定义, generator function 生成器函数, 生成器函数是一个在定义体中存有 'yield' 关键字的函数. 当生成器函数被 ...