Ubuntu18.04 TensorFlow
踩坑实录
初识 Tensorflow
TensorFlow 是一个端到端开源机器学习平台。它拥有一个全面而灵活的生态系统,其中包含各种工具、库和社区资源,可助力研究人员推动先进机器学习技术的发展,并使开发者能够轻松地构建和部署由机器学习提供支持的应用
TensorFlow
官网TensorFlow
Github
TensorFlow
掘金 —— 关于TensorFlow
一些教程和文档TensorFlow
中文社区- 关于TensorFlow
TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
准备工作
- 首先是准备工作,仔细确认一遍并记下自己的各种配置,避免之后再因为硬件上问题浪费时间
- 对必须的文件等做好备份,原因不用多说,经常备份也是一种需要养成的习惯
正式开始安装
- 先看看我的配置清单:
系统版本: Ubuntu 18.04.3 LTS 64位
cpu | Intel® Core™ i5-7500 CPU @ 3.40GHz × 4 |
---|---|
显卡 | GeForce GTX 1660 Ti/PCIe/SSE2 |
内存 | 16G |
- 如果之后硬件部分有更新也会贴在这里
cpu | 没钱 |
---|---|
显卡 | 没钱 |
内存 | 没钱 |
¶安装一些需要的软件
¶NIVIDIA Driver和CUDA、CUDNN
- [必须]
- 安装显卡驱动
¶Anaconda3
包管理器和环境管理工具
- [推荐]
- 可以帮助你解决软件包之间的冲突 你可根据不容的需求创建不同的虚拟环境,并为它们安装不同的软件包
- 例如为
ROS
和TensorFlow
分别创建Python2
和Python3
的虚拟环境
- 例如为
- 安装
Anaconda3
🐍- 可以到官网下载
- 也可以到清华大学开源软件镜像站下载
Anaconda3
的基本使用
命令 | code |
---|---|
显示conda命令列表 | conda help |
查看所有虚拟环境 | conda env list |
查看所有安装包 | conda list |
创建新环境 | conda create --name <env_name> <pak_name>(=version) |
激活虚拟环境 | conda activate env_name |
删除虚拟环境 | conda remove --name env_name --all |
查看指定虚拟环境下的package | conda list --name env_name |
复制一个环境 | conda create --name [env_name] -- clone [clone_env_name] |
Anaconda3
添加清华源——查看帮助文档sudo gedit ~/.condarc
打开~/.condarc
文件在其中添加
1 | channels: |
¶Pycharm
一款用过就不想换的Python编辑器
- [推荐]
- 安装
Pycharm
- 可以直接从
snap
商店安装sudo snap install pycharm-community --classic
- [推荐]可以到官网下载教育版
- 可以直接从
Pycharm
可以通过一些设置达到美化以及便利使用,多摸索就能找到最适合自己的方式
¶安装TensorFlow
¶为TensorFlow
创建一个独立的虚拟环境,防止与其余软件包相互冲突
conda create -n tf-gpu python=3.7
conda activate tf-gpu
安装
TensorFlow
有两种方式
¶[方法一]通过 pip
安装软件包
- [推荐]
- 这个方法较为简单,适合使用python作为开发工具,对网络进行训练和简单测试
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu
- 这样安装基本不会出现软件包之间的以来的问题,只需保持网络畅通即可
¶[方法二]从源码编译
- 我通过源码编译是因为需要使用
TensorFlow
的C++
接口 - 此方法较为复杂,也比较容易出现各种问题
- 根据所选版本对应的工具链切换
gcc/g++
版本- 可以
ls /usr/bin/gcc*
查看已有的gcc
版本,如果已有需要的版本,则不需要安装,直接替换符号链接即可
1
2
3
4
5
6
7sudo apt-get install -y gcc-<version>
sudo apt-get install -y g++-<version>
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-<version> gcc
sudo rm g++
sudo ln -s g++-<version> g++ - 可以
- 先获取
TensorFlow
源码1
2
3
4cd ~/workspace
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow/
git checkout <branch-version>
¶安装 bazel
- 打开
tensorflow/configure.py
可以找到这样的语句1
2_TF_MIN_BAZEL_VERSION = '2.0.0'
_TF_MAX_BAZEL_VERSION = '2.0.0'''
里的版本取决于你想要编译的TensorFlow
版本,不同版本所对应的bazel
也是不同- 到
Github
下载对应的bazel
版本- 这里推荐下载
.sh
脚本进行安装
1
2sudo chmod a+x bazel-<version>-installer-linux-x86_64.sh
sh bazel-<version>-installer-linux-x86_64.sh --user- 安装完成之后将
bazel
添加到环境变量 sudo gedit ~/.bashrc
打开~/.bashrc
文件- 在最后加入
export PATH="$PATH:$HOME/bin"
保存退出 source ~/.bashrc
- 这里推荐下载
¶安装各种依赖项
protobuf
- 打开
tensorflow/tensorflow/workspace.bzl
可以找到这样的语句1
#<xxx> is based on 3.8.0 with a fix for protobuf.bzl.
- 可以看到
protobuf
对应的版本为3.8.0
- 打开
¶安装Keras
- [推荐]
- 直接通过
pip
安装最新版本即可1
2conda activate tf-gpu
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple Keras Keras
的API更加简洁,使用上更加友好,并且是基于TensorFlow