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 ...
随机推荐
- Linux系统——Nginx基础
Nginx是一个开源的,支持高性能.高并发(特别是静态资源)的www服务和代理服务软件,还具有反向代理复杂均衡功能和缓存服务功能,与lvs负载均衡及Haproxy等专业代理软件相比,nginx部署更简 ...
- 运行javac 报告javac不是内部或外部命令,但是运行java、java-version正常
以前装jdk 从来没遇到过今天这种情况,各种解决办法试了一下午,终于出来了,说一下解决的办法: JAVA_HOME .classpath 都在系统变量中建立好: java_home 添加jdk的安装目 ...
- link标签 rel="stylesheet"
首先,link标签是用于当前文档引用外部文档的,其次,这个标签的rel属性用于设置对象和链接目的间的关系,说白了就是指明你链进来的对象是个什么东西的,具体的值及其所表示的关系如下:Alternate: ...
- 2018 Multi-University Training Contest 2 Solution
A - Absolute 留坑. B - Counting Permutations 留坑. C - Cover 留坑. D - Game puts("Yes") #include ...
- springcloud8----feign-with-hystrix
Feign也可以使用Hystrix: package com.itmuch.cloud; import org.springframework.boot.SpringApplication; impo ...
- php+mysql事务处理例子详细分析实例
一.数据引擎innodb用begin,rollback,commit来实现提交事务处理,begin开始事务后出现错误就rollback事务回滚或者没有错误就commit提事务提交确认完成. start ...
- StringBuffer类的常用方法
StringBuffer类和String一样,也用来代表字符串.只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...
- ArrayList扩容
jdk1.5 public ArrayList(int initialCapacity) { super(); if (initialCapacity < 0) throw new Illega ...
- github上fork别人的代码之后,如何保持和原作者同步的更新
1.从自己fork之后的版本库clone $ git clone -o chucklu https://github.com/chucklu/Hearthstone-Deck-Tracker.git ...
- 算法准备-分治算法解决第k位数的线性查找
由作业士兵排队问题引出的 在一个划分成网格的操场上,n个士兵散乱地站在网格点上.网格点由整数最表(x,y)表示.士兵可以沿着网格边上.下.左.右移动一步,但在同一时刻一个网格上只能有一名士兵.按照军官 ...