Python3.7 源码下载:

https://www.python.org/downloads/release/python-370/

解压源码:

tar -zxvf Python-3.7.0.tgz -C ~

安装源码编译所需的各种依赖库:(Ubuntu16.04环境下)

sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev  libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev   liblzma-dev libffi-dev  libc6-dev

配置安装位置   配置优化:

./configure --prefix=/opt/python3.7  --enable-optimizations

编译:

make -j 4

安装:

sudo make install

也或者编译、安装一起:

sudo make && make install

安装成功:

独立的Python环境安装好以后,我们需要安装相应的计算库:

sudo ./pip3 install mkl
sudo ./pip3 install numpy
sudo ./pip3 install scipy
sudo ./pip3 install matplotlib

验证各个函数库安装成功:

下一步就是需要配置显卡计算的相应环境:

首先是安装cuda, 现在支持的cuda版本一般是cuda8, 这里我们也是安装此版本。

下载地址:

下载页:

https://developer.nvidia.com/cuda-80-ga2-download-archive

文件地址:

https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run

执行环境安装:

sudo sh ./cuda_8.0.61_375.26_linux.run

安装过程  一直  点击确认,输入yes, 就可以,唯一需要注意的是提示你是否安装驱动,这里面我们默认是已经安装好驱动的,如果没有安装驱动参考其它文章。所以,这里我们是默认不安装驱动的,不然有可能造成版本不兼容,导致失败。

no  输入

安装成功后需要进行配置, 修改HOME目录下的 .bashrc 文件

加入以下内容:

export PATH=/opt/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/opt/cuda-8.0/lib64:$LD_LIBRARY_PATH

环境生效:

#环境变量立即生效
sudo source ~/.bashrc
sudo ldconfig

cuDNN是GPU加速计算深层神经网络的库。首先去官网(https://developer.nvidia.com/rdp/cudnn-download)下载cuDNN,需要注册一个账号才能下载,没有的话自己注册一个。

这里我下载的是   cuda8.0对应的 cudnn

下载后是一个 deb文件,需要解压:

ar -x libcudnn7-dev_7.1.4.18-1+cuda8.0_amd64.deb

xz -d ./data.tar.xz   解压data文件

tar -xvf data.tar     接着解压data文件

最后文件如下图:

执行下面操作:
cp ./usr/include/x86_64-linux-gnu/cudnn_v7.h /opt/cuda-8.0/include/

cp ./usr/lib/x86_64-linux-gnu/libcudnn_static_v7.a /opt/cuda-8.0/lib64/

下面是进行tensorflow的编译安装。

第一步:下载编译器 bazel
点击链接: installer for your system,跳转到Bazel的下载页面:


下载bazel-0.15.0-installer-linux-x86_64.sh到桌面,下载最新版的,不用和我的一致,然后在terminal中输入以下命令 添加执行权限
sudo chmod a+x bazel-0.15.0-installer-linux-x86_64.sh 安装
sudo ./bazel-0.15.0-installer-linux-x86_64.sh
												

ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)的更多相关文章

  1. ubuntu16.04源码编译安装wine1.8.6安装不上引来的错误

    configure: libxcomposite 64-bit development files not found, Xcomposite won't be supported. configur ...

  2. ubuntu16.04 源码方法安装tensorflow

    参考博客:http://blog.csdn.net/zhaoyu106/article/details/52793183/,http://blog.csdn.net/u010900574/articl ...

  3. ubuntu16.04源码编译安装nginx1.14.2

    1.下载nginx-1.14.2, 官网地址:nginx.org 2.解压nginx-1.14.2.tar.gz tar zxvf nginx-1.14.2.tar.gz 3.切到文件夹nginx-1 ...

  4. [笔记] Ubuntu 18.04源码安装caffe流程

    虽然Ubuntu 18.04可以通过apt安装caffe,但是为了使用最新的代码,还是值得从源码安装一遍的. 安装环境 OS: Ubuntu 18.04 64 bit 显卡: NVidia GTX 1 ...

  5. leetcode题库解答源码(python3)

    下面和大家分享本人在leetcode上已经ace的题目源码(python3): 本人会持续更新!- class Leetcode_Solution(object): def twoSum_1(self ...

  6. Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)

    任务:在CENT6.8系统中安装Apache(版本为:httpd-2.4.41) 前提:由于源码包必须先编译后安装,所以必须先安装编译器:gcc 理论步骤: 1.检测gcc软件包,如果不存在则进行安装 ...

  7. [源码解析] PyTorch 流水线并行实现 (1)--基础知识

    [源码解析] PyTorch 流水线并行实现 (1)--基础知识 目录 [源码解析] PyTorch 流水线并行实现 (1)--基础知识 0x00 摘要 0x01 历史 1.1 GPipe 1.2 t ...

  8. [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础

    [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 目录 [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 0x00 摘要 0x0 ...

  9. [源码解析] 分布式训练Megatron (1) --- 论文 & 基础

    [源码解析] 分布式训练Megatron (1) --- 论文 & 基础 目录 [源码解析] 分布式训练Megatron (1) --- 论文 & 基础 0x00 摘要 0x01 In ...

随机推荐

  1. Eclipse中没有javax.servlet和javax.servlet.http包的处理办法

    使用Eclips开发JSP也需要这两个包:javax.servlet和javax.servlet.http:若提示没有javax.servlet包则安装如下处理办法解决: 如果你装了Tomacat,那 ...

  2. Selenium IDE编辑区域修改操作学习

    1.修改command.target.value,选择需要修改的步骤,然后点击下方,既可以直接进行修改. 2.添加新的操作步骤:直接在下方编辑区域的下方点击,然后输入或者选择操作类型,然后点击Targ ...

  3. 1:3访问 servlet API 的两种方式(request,session等内置对象)

    1:解耦方式 2:耦合方式: ========================================== ========================================== ...

  4. ruby中的回调方法和钩子方法

    在ruby中,当某些特定的事件发生时,将调用回调方法和钩子方法.事件有如下几种: 调用一个不存在的对象方法 类混含一个模块 定义类的子类 给类添加一个实例方法 给对象添加一个单例方法 引用一个不存在的 ...

  5. 在Java中关于二进制、八进制、十六进制的辨析

    八进制数中不可能出7以上的阿拉伯数字.但如果这个数是123.是567,或12345670,那么它是八进制数还是10进制数?单从数字的角度来讲都有可能! 八进制 所以在Java中规定,一个数如果要指明它 ...

  6. LCS 最长公共子子串

    与 最长公共子序列类似 只是最长公共子串必须连续 所以只能走斜线!!!! ''' LCS 最长公共子序列 ''' def LCS_len(x, y): m = len(x) n = len(y) dp ...

  7. uva672

      Gangsters  N gangsters are going to a restaurant. The i-th gangster comes at the time Ti and has t ...

  8. Python: 二进制、八进制、十六进制转换或者输出

    为了将整数转换为二进制.八进制或十六进制的文本串,可以分别使用bin() ,oct() 或hex() 函数: >>> x = 1234 >>> bin(x) '0b ...

  9. # 20145122 《Java程序设计》第3周学习总结

    教材学习内容总结 1一类一文件. 2一个原始码中只能有一个公开类,一个类定义产生一个.class文档. 3如果参考名称与数据成员同名时,将参数的值指定给对象的数据成员时要在数据成员前加this. 4当 ...

  10. STM32组合设备实现USB转双串口

    USB转双串口,核心技术就在于组合设备(USB Composite)的实现,组合设备的实现,其核心技术在于描述符的实现,下面我们先给出描述符:设备描述符 [C] 纯文本查看 复制代码 ? 00001 ...