JetsonTX2上安装tensorflow的心酸史
JetsonTX2上安装tensorflow的心酸史
还是那句话,做事情得有耐心,有耐心…耐心….心……感觉像是给自己的一个心理暗示… -。-|||
tensorflow安装
常见问题总结
验证
tensorflow1.3.0安装
好的,进入正文,本文安装的是tensorflow1.3.0,使用的是源码编译安装,python2.7,cuda8.0,cudnn6.0.2.
本文介绍的tensorflow均是python2.7版本的安装,如果你需要python3.5+版本的tensorflow,同理得,你会看到python2.7的tensorflow中含有cp27字符,python3.5的tensorflow中含有cp35字符。
TX2上安装tensorflow比较苦*,因为tx2上是arm开发板,不像x86的机子直接pip或者anaconda安装。
TX2安装方式有两种,这两种安装方式都需要安装java 、bazel等这些依赖
如果这些流程你都走一遍了,基本上1.3.0以上的版本安装也就找到规律了:
1. 使用别人已经编译好的.whl文件来安装
2. 源码编译安装
注意:
安装类似tensorflow的开源框架都是需要版本匹配的,下面会给大家提供一个简要的版本匹配
tensorflow不同版本的环境需求
目前支持tensorrt的tensorflow>=1.7 参考网址:https://github.com/NVIDIA-Jetson/tf_trt_models
截止目前为止,TX2支持的最高tensorflow1.9.0是最近才update出来的
—Tensorflow 1.8.0 is built on Jetson TX2 with the environment:
L4T 28.23 (JetPack 3.2)
CUDA 9.0
cuDNN 7.0.5
TensorRT 3.0
—Tensorflow 1.6.0 is built on Jetson TX2 with the environment:
L4T 28.1 (JetPack 3.1)
CUDA 8.0
cuDNN 6.0.21
—Tensorflow 1.5.0 is built on Jetson TX2 with the environment:
L4T 28.1 (JetPack 3.1)
CUDA 8.0
cuDNN 6.0.21
Tensorflow 1.4.1 is built on Jetson TX2 with the environment:
L4T 28.1 (JetPack 3.1)
CUDA 8.0
cuDNN 6.0.21
注意:
方法1的安装确实比较方便,但是能用别人预编译好的whl文件装上的人很少,至少我是遇到了很多踩不平的坑,所以决定用的方式2,自己编译安装的,中间遇到的坑也都踩平了。
如果你一定要用方式1来安装的话,那么坑来了,请做准备!你必须要把我说的下面的这些依赖安装了!!!一定要!!!
方式1.使用别人已经编译好的.whl文件来安装(不推荐):
(1). java
注意!!!
这里用下面的方式安装的java版本是java官网更新的java8的jdk的最新版本,比如我现在安装的jdk就是jdk8的最新版本8U171,如果要按照版本来安装jdk的话,可以按照问题4中的解决方法来安装
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
1
2
3
(2). bazel
这里先附上bazel官方网址 :https://docs.bazel.build/versions/master/install-ubuntu.html,官方网址提供了多种安装方式,按照你的喜好来装,随便是.shell脚本或者源码编译安装都可以。允许坐着装、躺着装、跪着装…….皮一下,哈哈哈
bazel官方提供的下载地址:https://github.com/bazelbuild/bazel/releases?after=0.10.0 超级喜欢官方这个词,因为不用踩坑。。。~_~
下面提供的是官网二进制(源码编译)安装方式,给大家指个路先:
Step 1: Install required packages
First, install the prerequisites: pkg-config, zip, g++, zlib1g-dev, unzip, and python.
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python
Step 2: Download Bazel
Next, download the Bazel binary installer named bazel-<version>-installer-linux-x86_64.sh from the Bazel releases page on GitHub.
Step 3: Run the installer
Run the Bazel installer as follows:
chmod +x bazel-<version>-installer-linux-x86_64.sh
./bazel-<version>-installer-linux-x86_64.sh --user
The --user flag installs Bazel to the $HOME/bin directory on your system and sets the .bazelrc path to $HOME/.bazelrc. Use the --help command to see additional installation options.
Step 4: Set up your environment
If you ran the Bazel installer with the --user flag as above, the Bazel executable is installed in your $HOME/bin directory. It's a good idea to add this directory to your default paths, as follows:
export PATH="$PATH:$HOME/bin"
You can also add this command to your ~/.bashrc file.
Note: Bazel includes an embedded JDK, which can be used even if a JDK is already installed. bazel-<version>-without-jdk-installer-linux-x86_64.sh is a version of the installer without an embedded JDK. Only use this installer if you already have JDK 8 installed. Later JDK versions are not supported.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(3). other stuff
sudo apt-get install zip unzip autoconf automake libtool curl zlib1g-dev maven -y
sudo apt-get install python-numpy swig python-dev python-pip python-wheel -y
1
2
(4). 安装tensorflow.whl文件
可以去这里下载tensorflow1.3.0 https://download.csdn.net/download/makeyy123/10544283,这个是我预编译好的版本,这里的java是8U121,bazel0.5.4,python2.7
tensorflow1.8.0 https://download.csdn.net/download/makeyy123/10544295
这里的pip安装可能会触发问题1/2,解决方法已经附上
这些本来是想open source给大家的,但是发现csdn上传后至少需要1个积分。
如果你没有积分又想下载的话,可以留下你的邮箱,我看到会发到你的邮箱里
pip install tensorflow.whl
1
方式2.源码编译安装(推荐):
本文介绍的主要方法是使用源码编译安装,不过比较省心的一点是,所有的shell命令都写在shell脚本文件中了,所以一次执行脚本文件就可以了。
脚本文件中已经包含了java和bazel的安装
脚本文件下载链接:https://download.csdn.net/download/makeyy123/10544320
需要环境:cuda8.0 cudnn6.0
一、Preparation
TX2共有8G运行内存和32G eMMc flash 看起来倒是挺多的,但是装上系统,ROS,OPENCV,Qt后基本所剩余无几了,现在我就教大家如何将硬盘分区并挂载到/home目录下。我使用的是samsung250G的固态硬盘
如果插上之后没有自动弹出,参考:https://www.youtube.com/watch?v=KxZ-e6G7INg按照步骤把硬盘挂载,或者直接在大环境下搜索disks,下图右边的工具
会看到一个250G的硬盘,点设置进行format,这时在文件下就可以找到这个盘文件了
接下来挂载到/home下:
1.查看硬盘所有分区。
sudo fdisk -lu
1
会有一个/dev/sda 就是你所接入的硬盘
2、对硬盘进行分区。
sudo fdisk /dev/sda
1
在Command (m for help)提示符后面输入n,执行 add a new partition 指令给硬盘增加新分区。出现Partition number(1-4)时,输入1表示只分一个区。(所加硬盘比较大的话可以多分几个)
后续指定起启柱面(First sector),默认起始地址为 2048,结束地址为:1953525167,不输入数字按ENTER,将填入默认值。
在Command (m for help)提示符后面输入w,保存分区表。
输入quit退出
再次输入
sudo fdisk /dev/sda
1
显示/dev/sda1 则表示分区完成
3、格式化分区为ext4
sudo mkfs -t ext4 /dev/sda1
1
4、挂载硬盘分区
先把新硬盘挂在一个临时目录下
cd /mnt/
sudo mkdir home
sudo mount /dev/sda1 /mnt/home 挂载到/mnt/home
df -h 查看
sudo cp -a /home/* /mnt/home/ 把home下的东西拷到挂载的目录下,备份
sudo rm -rf /home/* 把home下的东西删干净
sudo umount /dev/sda1 卸载硬盘
df -h 查看
1
2
3
4
5
6
7
8
5、设置开机挂载
sudo vi /etc/fstab
末尾增加一行:
/dev/sda1 /home ext4 defaults 1 2
1
2
3
保存退出
df -h 查看 /home是否被挂载
mount -a 挂载/etc/fstab 中未挂载的分区
df -h 查看
1
2
3
4
二、 开辟一块8G的编译空间,否则会报内存error
进入到下载好的脚本文件夹中,一次执行:
./createSwapfile.sh -d ~/ -s 8
1
三、 安装依赖
for python2.7
1.安装java、bazel
./installPrerequisites.sh
1
2.克隆aarch64的tensorflow1.3.0
./cloneTensorFlow.sh
1
3.导入tensorflow需要的python lib path
./setTensorFlowEV.sh
1
选择/usr/local/lib/python2.7/dist-packages
for python3.5
1.安装java、bazel
./installPrerequisitesPy3.sh
1
2.克隆aarch64的tensorflow1.3.0
./cloneTensorFlow.sh
1
3.导入tensorflow需要的python lib path
./setTensorFlowEVPy3.sh
1
选择/usr/local/lib/python3.5/dist-packages
四、安装tensorflow1.3.0
build tensorflow
./buildTensorFlow.sh
1
2.生成whl文件,生成的文件在$HOME下面存放
./packageTensorFlow.sh
1
3 . 使用pip安装whl文件
for python2.7
pip install $HOME/wheel_file
或 python -m install $HOME/wheel_file
1
2
for python3.5
pip3 install $HOME/wheel_file
或 python3 -m install $HOME/wheel_file
1
2
这里pip安装会访问之前设置的python lib的path,所以需要管理员权限
如果报一些permission error,将3中所以命令前加sudo
验证
Python2.7
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
1
2
3
4
效果:
问题1:pip问题
如果出现pip==8.0.1,安装需要pip==10.0.0的问题,
解决:这里需要更新一下pip的版本,不更新的话,是无法安装whl文件的
问题2:pip import main error
pip安装过程出现 import main error
解决:
修改/usr/bin/pip或/usr/bin/pip3,改过之后保存,就可以用pip/pip3了
from pip import main
if __name__ == '__main__':
sys.exit(main())
1
2
3
4
改为:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
1
2
3
4
问题3:./buildTensorflow.sh出现下图问题
解决:搜索了一圈,大家都说是bazel版本10.0.0过高,把bazel版本降为0.5.4,不过我提供的脚本下载的是bazel0.5.4,因此应该不会出现下图问题
问题4:把bazel换成0.5.4后,./installPrerequisites.sh出现下图问题
原因 :javajdk版本过高,查看自己的java版本是jdk_8U171,改成 jdk_8U121
参考:https://blog.csdn.net/yebhweb/article/details/55098189
java -version
1
修改.bashrc文件后记得source一下,不然还会是之前的java版本
jdk是java开发工具的简称,下载官方网址:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
TX2 64位选择
这里可以安装多个java版本,可以进行切换:
sudo update-alternatives –config java
1
无数次刷机后,安装这个的过程大概就是这些个常见的坑了,反正是被我全遇到了,一点都不遗憾,hhhhhh…..囧…..
全文完!
---------------------
作者:芝麻香儿
来源:CSDN
原文:https://blog.csdn.net/makeyy123/article/details/81069392
版权声明:本文为博主原创文章,转载请附上博文链接!
JetsonTX2上安装tensorflow的心酸史相关推荐
- Windows7上安装TensorFlow的GPU版本后记
上一篇写了之前在我的Windows7上安装TensorFlow GPU版的一路坑坑洼洼,本以为已经解决了.但实际上在过年的几天内,又一次出现了问题.经过了反复的尝试,到今天为止终于稳定下来,特此记录一 ...
- 在 Mac OS X 上安装 TensorFlow
在 Mac OS X 上安装 TensorFlow 这个文档说明了如何在 Mac OS X 上安装 TensorFlow. 注意:从 1.2 版本开始,在 Mac OS X 上 TensorFlow ...
- python 调用 tensorflow.dll_解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题...
最近打算开始研究一下机器学习,今天在windows上装tensorflow花了点功夫,其实前面的步骤不难,只要依次装好python3.5,numpy,tensorflow就行了,有一点要注意的是目前只 ...
- 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)
一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...
- Ubuntu上安装TensorFlow(python2.7版)
笔记内容:Ubuntu上安装TensorFlow(python2.7版) 笔记日期:2018-01-31 我的系统环境: Ubuntu 16.04 LTS python 2.7 python 3.5 ...
- python mac os安装教程_教程:在 Mac OS X 上安装 TensorFlow
简评:手把手教你如何在 Mac OSX 系统安装 TensorFlow. 这个文档说明了如何在 Mac OS X 上安装 TensorFlow. 注意:从 1.2 版本开始,在 Mac OS X 上 ...
- 【pycharm】pycharm上安装tensorflow,报错:AttributeError: module ‘pip‘ has no attribute ‘main‘ 解决方法
[pycharm]pycharm上安装tensorflow,报错:AttributeError: module 'pip' has no attribute 'main' 解决方法 参考文章: (1) ...
- 在 Windows 上安装 TensorFlow(转载)
在 Windows 上安装 TensorFlow windows下配置安装Anaconda+tensorflow Spyder--科学的Python开发环境 Windows7 安装TensorFlow ...
- python无法安装tensorflow_Windows上安装Tensorflow踩的坑
前言 看到Rstudio中开始支持Tensorflow,本人是欣喜若狂的,同时TensorFlow官网从16年9月低开始支持windows安装了,不免想试试在自己的Windows上用R跑跑tensor ...
最新文章
- 一种注册表沙箱的思路、实现——注册表的一些基础知识
- 鼠标滚轮 控制作用滚动
- VC++得到系统特殊文件夹路径
- RPM包及其管理 rpm命令
- Java IOUtils.copy方法代码示例(亲测)
- CSS 优化、提高性能的方法
- 如何高效、可移植申请内存代码。
- java三次登录锁定_Java基础知识点有哪些 如何快速步入Java行业
- [设计模式-行为型]备忘录模式(Memento)
- Spring MVC 中使用AOP 进行统一日志管理--XML配置实现
- 摩托罗拉投资Android外来往戏开辟商Moblyng
- Java springcloud B2B2C o2o多用户商城 springcloud架构- ribbon
- 自己设计过App的数据库框架?还是只是停留在使用ormlite greenDao这类框架,一篇文章帮你解答
- 存储结构的定义及其分类
- 【华为云】python调用华为云API,获取token值
- APP内搜索:下一代搜索属于百度还是微信?
- ncbi爬虫geneID注释
- 如何领取6元虚拟主机?
- Pytorch1.1.0 入门 自定义op(python)
- nodeMCU_esp8266管脚示意图/特殊管脚的使用避坑(D3/D4/D8/..)
热门文章
- 东大计算机专业自主招生,东大2018年自主招生计划不超过200人 招生专业分为7大类...
- vue 数组删除 dome没更新_详解Vue响应式原理
- 7-2 然后是几点 (Java)
- 前端笔记(6)css布局机制,浮动,清除浮动,图片格式,ps切片工具及插件
- 【c语言】求最大公约数
- push msg php_基于web-msg-sender进行消息推送
- web模拟终端博客系统
- jQuery 插件取url参数[jquery.url.js]的使用以及文件下载
- 《iOS应用软件设计之道》—— 3.1 流向:从一个画面到另一个画面
- centos6.5下部署用于生产的hadoop,并使用C语言API连接hadoop