每次换了个地方就要重新配置自己的开发环境那是特别蛋疼的,尤其是要弄到服务器跑的时候,不小心把环境弄崩了是非常惨的。
  
  下载tensorflow-gpu版本的源
  
  docker pull daocloud.io/daocloud/tensorflow:0.11.0-gpu
  
  1
  
  编辑方便的脚本文件启动docker
  
  先查下你有几个GPU设备
  
  [root@XXX ~]# ls -la /dev | grep nvidia
  
  crw-rw-rw-. 1 root root 195, 0 Sep 16 13:49 nvidia0
  
  crw-rw-rw-. 1 root root 195, 255 Sep 16 13:49 nvidiactl
  
  crw-rw-rw-. 1 root root 247, 0 Sep 16 13:54 nvidia-uvm
  
  1
  
  2
  
  3
  
  4
  
  然后再查你的docker镜像
  
  y@y:~$ sudo docker images
  
  [sudo] password for y:
  
  REPOSITORY TAG IMAGE ID CREATED SIZE
  
  daocloud.io/daocloud/tensorflow 0.11.0-gpu dd645f420f1d 8 weeks ago 2.713 GB
  
  daocloud.io/daocloud/tensorflow 0.10.0-devel-gpu fa886c09638d 3 months ago 5.014 GB
  
  hello-world
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  然后就可以启动咯
  
  sudo docker run -ti -v /home/:/mnt/home --privileged=true --device /dev/nvidia0:/dev/nvidia0 --device /dev/nvidiactl:/dev/nvidiactl --device /dev/nvidia-uvm:/dev/nvidia-uvm daocloud.io/daocloud/tensorflow:0.11.0-gpu /bin/bash
  
  1
  
  上面这句有点长把它写到docker.sh文件,然后
  
  sh docker.sh
  
  1
  
  完成。 上面的意思是把本地的/home映射到docker的/mnt目录
  
  以及各种显卡设备也映射进去
  
  进去之后
  
  别急着用tensorflow,可能会报错,因为我发现LD_LIBLABRARY_PATH环境变量设置的不对。但是又没有vim。于是先更新软件源。把软件源文件放到本机的/home,再去docker的/mnt/home里面复制到
  
  /etc/apt/sources.list
  
  1
  
  deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
  
  deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
  
  deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
  
  deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
  
  deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
  
  deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
  
  deb-src http://www.jyz521.com/ /ubuntu/ trusty-backports main multiverse restricted universe
  
  deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
  
  deb-src http://www.chushiyl.cn /ubuntu/ trusty-security main multiverse restricted universe
  
  deb-src http://www.huachengjpt.com /ubuntu/ trusty-updates main multiverse restricted universe
  
  然后
  
  apt-get update
  
  apt-get install 你要安装的东西
  
  1
  
  2
  
  安装常用软件
  
  在~/.bashrc里面最后加上
  
  export LD_LIBLABRARY_PATH = /usr/local/cuda-8.0/lib64:$LD_LIBLABRARY_PATH
  
  1
  
  2
  
  退出终端
  
  主机保存镜像为新版本
  
  sudo docker ps -l
  
  y@y:~$ sudo docker ps -l
  
  CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  
  a1f2ac36a2c9 daocloud.io/daocloud/tensorflow:0.11.0-gpu "/bin/bash" 10 minutes ago Up 10 minutes 6006/tcp, 8888/tcp
  
  1
  
  2
  
  3
  
  4
  
  把a1f2ac36a2c9这个名字记住
  
  然后
  
  docker commit a1f2ac36a2c9 新名字
  
  1
  
  OK了
  
  把镜像存到移动硬盘里
  
  sudo docker save -o "要存的地址" daocloud.io/daocloud/tensorflow:0.11.0-gpu
  
  1
  
  加载本地的
  
  sudo docker load --input "本地地址"
  
  1
  
  删除镜像
  
  docker rmi "镜像IDa1f2ac36a2c9 "
  
  1
  
  使用tensorflow
  
  在docker里面发现import tensorflow报错
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcublas.so locally
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcudnn.so locally
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcufft.so locally
  
  I tensorflow/stream_executor/dso_loader.cc:105] Couldn't open CUDA library libcuda.so.1. LD_LIBRARY_PATH: /usr/local/cuda-8.0/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:
  
  I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:160] hostname: ad8b0d82bec1
  
  I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:185] libcuda reported version is: Not found: was unable to find libcuda.so DSO loaded into this program
  
  I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:356] driver version file contents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module 367.44 Wed Aug 17 22:24:07 PDT 2016
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  估计是cuda.so这个没有集成进来,干脆直接把本机的放进docker来好了。
  
  -v /usr/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
  
  1
  
  这一句重新加入docker run里面去。重启docker OK
  
  root@282f3d4a2193:/notebooks# python\
  
  >
  
  Python 2.7.6 (default, Jun 22 2015, 17:58:13)
  
  [GCC 4.8.2] on linux2
  
  Type "help", "copyright", "credits" or "license" for more information.
  
  >>> import tensorflow
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcublas.so locally
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcudnn.so locally
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcufft.so locally
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcuda.so.1 locally
  
  I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcurand.so locally
  
  >>>
  
  测试一下效果
  
  ...
  
  >>> import tensorflow as tf
  
  >>> hello = tf.constant('Hello, TensorFlow!')
  
  >>> sess = tf.Session()
  
  >>> print(sess.run(hello))
  
  Hello, TensorFlow!
  
  >>> a = tf.constant(10)
  
  >>> b = tf.constant(32)
  
  >>> print(sess.run(a + b))
  
  42

下载tensorflow-gpu版本的源的更多相关文章

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

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

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

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

  3. win10系统下安装TensorFlow GPU版本

    首先要说,官网上的指南是最好的指南. https://www.tensorflow.org/install/install_windows 需要FQ看. 想要安装gpu版本的TensorFlow.我们 ...

  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. Win10上安装Keras 和 TensorFlow(GPU版本)

    一. 安装环境 Windows 10 64bit  家庭版 GPU: GeForce GTX1070 Python: 3.5 CUDA: CUDA Toolkit 8.0 GA1 (Sept 2016 ...

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

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

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

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

  8. TensorFlow GPU版本的安装与调试

    笔者采用python3.6.7+TensorFlow1.12.0+CUDA10.0+CUDNN7.3.1构建环境 PC端配置为GTX 1050+Intel i7 7700HQ 4核心8线程@2.8GH ...

  9. tensorflow GPU版本安装及配置

    经检测速度大幅度上升,不枉费我折腾了这么久,最坑的就是网上教程.书都没有写将cuda的bin加入全局变量,还是根据报错信息推出来的. 1.cuda9.0下载安装 https://developer.n ...

  10. Python3.7+Pycharm+cuda10.0+tensorflow GPU版本 安装

    处理器:I5-7500 显卡   :GTX1050Ti 系统   :Win10 1. 首先搭建Python环境. 官网https://www.python.org/downloads/下载Python ...

随机推荐

  1. USB主机控制器ECHI

    USB主机控制器ECHI 2017年10月24日 15:44:11 阅读数:239 1. 主机控制器(Host Controller) • UHCI: Universal Host Controlle ...

  2. odoo之自动生成编号问题

    单独的seq.xml文件 <?xml version="1.0" encoding="utf-8"?><openerp> <dat ...

  3. URL Encode

    用VC实现post数据常常会遇到URL编码问题 在此封装一个工具类进行UTF8编码的转换 源码来自php source code 只是简单的封装给C++调用   //URL 编解码类 //来自PHP源 ...

  4. iscsi target IET架构

    IET(iSCSI Enterprise Target)是内核态实现的iscsi target,相比于用户态实现的target(比如tgt),iet比较稳定,并且也算是历史悠久,io都直接经过内核态, ...

  5. 20155211 网络攻防技术 Exp7 网络欺诈防范

    20155211 网络攻防技术 Exp7 网络欺诈防范 实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET工具建立冒名网站 (2)e ...

  6. rabbitMQ教程(四) spring整合rabbitMQ代码实例

    一.开启rabbitMQ服务,导入MQ jar包和gson jar包(MQ默认的是jackson,但是效率不如Gson,所以我们用gson) 二.发送端配置,在spring配置文件中配置 <?x ...

  7. Unity EasyTouch官方案例学习

    一.代码检测手势事件 1. EasyTouch4.x 写法 首先要手动在 Hierarchy 窗口添加 EasyTouch 物体,以触摸(Touch)手势为例,代码如下: using UnityEng ...

  8. 华为云对Kubernetes在Serverless Container产品落地中的实践经验

    华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...

  9. 如何将maven项目打包上传到私服

    比如我们想要把项目通过maven生产源码包和文档包并发布到自己的私服上,有两个maven插件可以做到这些工作,一个是maven-source-plugin,另一个是maven-javadoc-plug ...

  10. SpringMVC 之 @ResponseBody 和 @RequestBody

    前后端进行数据交互的时候,规定数据交互的格式,使数据交互规范而统一,是极为重要的事.一般而言,我们会采用 JSON 进行数据交互.本文暂不讨论如何 JSON 的格式规范,而是解析一下如何在 Sprin ...