ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)
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计算框架与系统的彻底隔离)的更多相关文章
- ubuntu16.04源码编译安装wine1.8.6安装不上引来的错误
configure: libxcomposite 64-bit development files not found, Xcomposite won't be supported. configur ...
- ubuntu16.04 源码方法安装tensorflow
参考博客:http://blog.csdn.net/zhaoyu106/article/details/52793183/,http://blog.csdn.net/u010900574/articl ...
- 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 ...
- [笔记] Ubuntu 18.04源码安装caffe流程
虽然Ubuntu 18.04可以通过apt安装caffe,但是为了使用最新的代码,还是值得从源码安装一遍的. 安装环境 OS: Ubuntu 18.04 64 bit 显卡: NVidia GTX 1 ...
- leetcode题库解答源码(python3)
下面和大家分享本人在leetcode上已经ace的题目源码(python3): 本人会持续更新!- class Leetcode_Solution(object): def twoSum_1(self ...
- Apache源码包在LINUX(CENTOS6.8)中的安装(出现问题及解决)
任务:在CENT6.8系统中安装Apache(版本为:httpd-2.4.41) 前提:由于源码包必须先编译后安装,所以必须先安装编译器:gcc 理论步骤: 1.检测gcc软件包,如果不存在则进行安装 ...
- [源码解析] PyTorch 流水线并行实现 (1)--基础知识
[源码解析] PyTorch 流水线并行实现 (1)--基础知识 目录 [源码解析] PyTorch 流水线并行实现 (1)--基础知识 0x00 摘要 0x01 历史 1.1 GPipe 1.2 t ...
- [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础
[源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 目录 [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 0x00 摘要 0x0 ...
- [源码解析] 分布式训练Megatron (1) --- 论文 & 基础
[源码解析] 分布式训练Megatron (1) --- 论文 & 基础 目录 [源码解析] 分布式训练Megatron (1) --- 论文 & 基础 0x00 摘要 0x01 In ...
随机推荐
- Eclipse中没有javax.servlet和javax.servlet.http包的处理办法
使用Eclips开发JSP也需要这两个包:javax.servlet和javax.servlet.http:若提示没有javax.servlet包则安装如下处理办法解决: 如果你装了Tomacat,那 ...
- Selenium IDE编辑区域修改操作学习
1.修改command.target.value,选择需要修改的步骤,然后点击下方,既可以直接进行修改. 2.添加新的操作步骤:直接在下方编辑区域的下方点击,然后输入或者选择操作类型,然后点击Targ ...
- 1:3访问 servlet API 的两种方式(request,session等内置对象)
1:解耦方式 2:耦合方式: ========================================== ========================================== ...
- ruby中的回调方法和钩子方法
在ruby中,当某些特定的事件发生时,将调用回调方法和钩子方法.事件有如下几种: 调用一个不存在的对象方法 类混含一个模块 定义类的子类 给类添加一个实例方法 给对象添加一个单例方法 引用一个不存在的 ...
- 在Java中关于二进制、八进制、十六进制的辨析
八进制数中不可能出7以上的阿拉伯数字.但如果这个数是123.是567,或12345670,那么它是八进制数还是10进制数?单从数字的角度来讲都有可能! 八进制 所以在Java中规定,一个数如果要指明它 ...
- LCS 最长公共子子串
与 最长公共子序列类似 只是最长公共子串必须连续 所以只能走斜线!!!! ''' LCS 最长公共子序列 ''' def LCS_len(x, y): m = len(x) n = len(y) dp ...
- uva672
Gangsters N gangsters are going to a restaurant. The i-th gangster comes at the time Ti and has t ...
- Python: 二进制、八进制、十六进制转换或者输出
为了将整数转换为二进制.八进制或十六进制的文本串,可以分别使用bin() ,oct() 或hex() 函数: >>> x = 1234 >>> bin(x) '0b ...
- # 20145122 《Java程序设计》第3周学习总结
教材学习内容总结 1一类一文件. 2一个原始码中只能有一个公开类,一个类定义产生一个.class文档. 3如果参考名称与数据成员同名时,将参数的值指定给对象的数据成员时要在数据成员前加this. 4当 ...
- STM32组合设备实现USB转双串口
USB转双串口,核心技术就在于组合设备(USB Composite)的实现,组合设备的实现,其核心技术在于描述符的实现,下面我们先给出描述符:设备描述符 [C] 纯文本查看 复制代码 ? 00001 ...