在Ubuntu 18.04上安装Tensorflow
我们将经历几个阶段,安装cuda-9.0,cudnn和tensorflow cpu以及tensorflow gpu版本。最后我们将用cuda-9.0安装pytorch。在MARVEl电影中黑寡妇的“我与这场战争作战,所以你不必”。
昨天晚上,2018年4月29日,我成功在Ubuntu 18.04上安装了Tensorflow。但是,安装Tensorflow的关键是正确安装Cuda和cuDNN libray,因为昨晚Tensorflow编译的运行文件只支持cuda-9.0。检查这个帖子是不是已经过时。 在我们安装Cuda-9.0之前,您可能需要将ubuntu镜像源网站更改为适合您的最新版本。我把它改成了mirro.ustc.edu.cn, 因为我在中国安徽合肥。和ubuntu16.04不同,你需要显示应用程序页面中搜索软件和更新。 然后请将GPU驱动更改为由Nvidia测试的390版本。
安装Cuda-9.0
阅读完Tensorflow网站,我们知道我们必须首先安装cuda9.0。首先百度CUDA-9.0 ,.然后选择linux,然后ubuntu-16.04,最后下载runfile,即1.6 GB,但可以非常快速地下载。
在我们安装runfile之前,我们需要安装一些依赖关系,否则你会得到“Missing recommended libary”这样的警告。
安装像这样的依赖关系。
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
接下来,让我们像这样一样安装cuda-9.0。
sudo chmod 777 *.runfile # give permission to run all the runfile files
sudo ./cuda_9.0.176_384.81_linux.run -toolkit -samples -silent -override #
cuda-9.0安装路径是“/usr/local/cuda-9.0”。为避免missing libray错误,我们在cuda-9.0的这个目录中创建一个符号链接“cuda”。
cd /usr/local
sudo ln -s /usr/local/cuda-9.0 cuda # create the symbolic link
在验证我们安装cuda-9.0之前,我们会降低我们的gcc版本,否则我们会得到”gcc later than 6 is not supported error” 这样的错误。
检查这个和Ubuntun 18.04上的gcc版本,我们决定降低我们的gcc版本。
gcc --version # check ubuntu 18.04 gcc version, you will find it's 7.3.0
sudo apt install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 # you will find that message that tells you the gcc-5 is set to be automatic.
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 # similiar message as gcc
将cuda设置为环境变量
export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}
验证cuda-9.0安装
cd NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL
make clean && make
./fluidsGL
如果cuda-9.0正确安装,在我们的制作过程中应该没有错误信息。然后我们可以得到流体模拟。
我们的cuda-9.0已成功安装!在我们继续之前, 我们可以测试一下其他的sample。
安装cuDNN7.0
让我们安装cuDNN库来加速我们的深度学习算法。注册,点击“Archived cuDNN Releases”。然后下载 cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0 下载三个文件ubuntu16.04文件 runtime library. developer library, and code samples and user guide。
sudo dpkg -i libcudnn7_7.0.5.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.5.11-1+cuda9.0_amd64.deb
安装Freeimage
在我们验证cuDNN之前,我们必须首先安装freeimage lilbray作为ministCUDNN示例代码的依赖关系。否则,会有提示要求我们正确设置Freeimage。
sudo apt-get install libfreeimage3 libfreeimage-dev
验证cuDNN安装
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
如果一切正常,我们可以得到我们的结果 - “测试通过!”
我们也可以编译其他示例。
安装Tensorlfow
我们将使用virualenv安装。 首先安装libcupti-dev库。
sudo apt-get install libcupti-dev
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
然后我们将安装virtualenv并创建一个Tensorflow Environment。
sudo apt-get install python3-pip python3-dev python-virtualenv
virtualenv --system-site-packages -p python3 tensorflow # create a enviroment named tensorflow
这需要一段时间,请耐心等待。
安装Tensorflow CPU版本
当环境创建好了,我们必须在每次使用tensorflow时激活它。首先按照推荐安装tensorflow cpu version。
source ~/tensorflow/bin/activate
pip3 install --upgrade tensorflow # install the cpu version
验证Tensorflow CPU版本
在同一个环境中,这意味着你会在你的shell中看到它。
(tensorflow)$
键入python和下面的python代码。
python
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
这是我的结果。虽然它与官方验证结果不同,但是应该没问题。
>>> print(sess.run(hello))
b'Hello, TensorFlow!'
>>>
###安装Tensorflow GPU版本 首先确保我们处于同一环境中。
pip3 install --upgrade tensorflow-gpu
但是,下载whl文件的网速较慢。所以我们可以用自己的“方法”到浏览器中的whl文件和本地pip3安装。
验证Tensorflow GPU版本
仍然确保你在Tensorflow Enviroment。
键入python和下面的python代码。
python
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
结果是一样的。但是我们可以看到我们的GPU设备正在工作。您可以在下面的测试结果中看到我的GTX 1050 Ti。
我们在Ubuntu 18.04上成功安装了Tensorflow。 您可以在Tensorflow网站上测试更多的模型,git克隆模型库非常缓慢。因此,我们也可以用“自己的方法”在浏览器中下载张量流模型库。 This my fisrt example.
##安装Pytorch 我们将使用由pytorch推荐的软件包管理器Anaconda来安装它。 ###安装Anaconda 我在合肥,所以我选择科大镜像来下载anaconda安装的.sh文件。 在我们安装了Anaconda之后。我们必须改变“Anaconda3”的拥有者,否则我们不能将文件写入此目录。 我们检查我们的用户名和用户组。
groups
第一组通常是你现在的组。 这是我的结果。
由于我的用户组是bryan,我的用户名也是bryan。所以我会将下面的命令改为“chown -R bryan:brayn anaconda3”。“-R”的意思是迭代,这个参数将改变整个anacodna3文件的所有者。
chown -R YOUR_GROUp:YOUR_USER_name anaconda3
更改Anaconda频道
在安装pytorch之前,我们可以设置Anaconda镜像源以减少等待时间。同样,我的镜像源是科大镜像。
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
###安装Pytorch 然后我们可以去pytorch网站。选择linux,python版本为3.6,cuda版本为9.0。请不要执行这个命令。 后一个pytorch意味着我们将从它的官方网站下载pytorch,这对我来说非常缓慢。因此,将最后一个pytorch替换为适合您的镜像源。
conda install pytorch torchvision cuda91 -c https://mirrors.ustc.edu.cn/anaconda/cloud/pytorch/
验证Pytorch
您可以尝试pytoch webstie上的示例。这是我的结果。
恭喜安装成功!如果本教程任何问题,请发邮件给我。
原文:https://blossomnoodles.github.io/cnBlogs/2018/04/30/Ubuntu18.04-Tensorlow-install.html
在Ubuntu 18.04上安装Tensorflow的更多相关文章
- 如何在Ubuntu 18.04上安装Pip
一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...
- 如何在Ubuntu 18.04上安装Django
Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...
- 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...
- 如何在Ubuntu 18.04上安装Go
如何在Ubuntu 18.04上安装Go 谢鸢发表于云计算教程系列订阅98 介绍 课程准备 第1步 - 安装Go 第2步 - 设置Go路径 第3步 - 测试您的安装 结论 介绍 Go是Google开发 ...
- Ubuntu 18.04上安装 phpMyAdmin
我们将安装 phpMyAdmin 在 Ubuntu18.04 上配合 Apache 一起工作. 在安装 phpMyAdmin 之前需要已经安装了LAMP栈并提供了web页面. 如果没有安装可以参照 U ...
- Ubuntu 18.04上安装Apache, MySQL, PHP, LAMP
1.安装 Apache $ sudo apt update && sudo apt install apache2 中间会遇到停顿询问是否继续, 输入 y 然后 回车. 2.测试 Ap ...
- 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...
- 如何在Ubuntu 18.04上安装Apache Web服务器
一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...
- 在Ubuntu 18.04上安装Git
步骤1.首先,通过运行以下命令确保您的系统和apt包列表完全更新: apt-get update -yapt-get upgrade -y 第2步.在Ubuntu 18.04上安装Git. 现在让我们 ...
随机推荐
- poj_1988 并查集
题目大意 开始有N堆砖块,编号为1,2....N,每堆都只有一个.之后可以进行两种操作: (1)M X Y 将编号为X的砖块所在的那堆砖拿起来放到编号为Y的砖块所在的堆上: (2)C X 查询编号为X ...
- java基础---->多线程之Daemon(五)
在java线程中有两种线程,一种是用户线程,另一种是守护线程.守护线程是一种特殊的线程,当进程中不存在非守护线程了,则守护线程自动销毁.今天我们通过实例来学习一下java中关于守护线程的知识.我是个平 ...
- vux报错 this指针问题
报错: 代码: 结果:取不到this.tishi,不明白为什么在请求内部会取不到这个值. 分析:this可能有问题 解决: 结果: 这样就能取到this.tishi的值了. 总结: methods:{ ...
- oracle的cursor
oracle的cursor 转自:http://www.cnblogs.com/shengtianlong/archive/2010/12/31/1922767.html 1,什么是游标? ①从表中检 ...
- BFS+状态压缩DP+二分枚举+TSP
http://acm.hdu.edu.cn/showproblem.php?pid=3681 Prison Break Time Limit: 5000/2000 MS (Java/Others) ...
- Linux定时对日志批量打包Shell脚本及定时任务crontab 详细用法
一.需求背景 因此次项目的生产环境中部署了多套系统,每天会产生大量的日志(数百GB的量),侵占了服务器宝贵的存储资源空间.为了有效缓解服务器存储压力,考虑通过Linux的Shell脚本结合cr ...
- [NGINX] - 配置文件优化 - NGINX.CONF
Nginx 本文主要针对公司的Nginx负载均衡配置进行解释,配置文件在最下方.因为公司没有使用PHP,所以NGINX里面并没有太多facgi模块相关优化 NGINX.CONF user 语 ...
- EasyUI之Layout布局和Tabs页签的使用
1.JQuery EasyUI之LayOut布局 EasyUI是一款基于JQuery开发的前端框架,它集成很多漂亮的样式和相应的功能,大大方便了我们对前端开发的难度.对于web项目而言,主页面的一定是 ...
- CodeForces 25C(Floyed 最短路)
F - Roads in Berland Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I6 ...
- Python量化教程 常用函数
# -*- coding: utf-8 -*- # @Author: fangbei # @Date: 2017-08-26 # @Original: price_str = '30.14, 29.5 ...