通俗易懂的机器学习——在Jetson nano(ubuntu)配置tensorflow

本文已参与「新人创作礼」活动

注意事项

1)操作系统镜像刚烧进去开机时选择语言一定要全部选成英文,如果选中文可能会因此出现“build wheel error”之类的问题。
2)尽量使用jetson nano提供的下载源,不要去做没必要的换源。如果某个包真的需要换源才能下载,建议只https和http的区别在下载那个包ubuntu20.04安装教程的适合换源。
3)在下载包前要确定在jetson nano中他的名称,如anaconda在jets操作系统当前的配置不能运行此应用程序on nano适用操作系统的主要功能是的版本就和之前的安装方式ubuntu安装不同。
4)在下载tensorflow之前不要下载numpy等tensorflow的依赖包,以避免版本冲突带来的问题。

如果您不幸遇到了以上appear几种问题,能够改正尽量改正,如果改正不了就只好ubuntu是什么操作系统重新烧录了。

安装tensorfow

这里需要注意的是Jeapplicationtson nano的tensorflow可以按照官网的方式去下载,我的jetson nano自带cuda-10.2和cuda10,第二种方法为官网按照操作系统是一种方法
官网如下:
Official TensorFlow操作系统的基本特征 for Jetson Naapproachno!

准备工作

1.查ubuntu分区看ubuntapproveu版本

cat /etc/issue

lsb_release -a

2.检查cuda

cat /usr/local/cuda/version.txt

jetson nano中本身自带cuda,首先要找到cuda所在的文件夹看清楚自己cuda的版本,我这里的版本是cuda10,但是网上的各种配置环境变量都是用的ubuntu怎么设置中文cuda10.0,虽然版本一样,但是环境找不到cuda10,所以配置前一操作系统的基本特征定要看清楚

将符合自己板子的cuda写入环境变量

sudo gedit  ~/.bashrc

在打开的文件最后填上

export CUDA_HOME=/usr/local/cuda-10
export LD_LIBRARY_PATH=/usr/local/cuda-10/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10/bin:$PATH

(注appointment:因为博主的板application子里面cuda10的文件名称为cgoogleplayuda10而不是cuda10.0,注意配置时写的cuda版本一定要和文件夹名称一模一样)

保存后执行

source ~/.bashrc

3.ubuntu20.04安装教程修改pip

sudo apt-get update
sudo apt-get full-upgrade
sudo apt-get install python3-pip python3-dev
python3 -m pip install --upgrade pip  #升级pip
sudo gedit /usr/bin/pip3   #打开pip3文件

将原来的

from pip import main
if __name__ == '__main__':
    sys.exit(main())

改为

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

方法一

sudo apt-get install python3-pip libhdf5-serial-dev hdf5-tools
pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.13.1+nv19.3 --user

方法二(官网方法)

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo apt-get install python3-pip
sudo pip3 install -U pip testresources setuptools==49.6.0
sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow

方法三

# 2. 安装依赖文件包,由于使用刚刷完镜像的板子,所以很多依赖包需要安装。
 sudo apt-get install python3-scipy 
 sudo apt-get install python3-pandas
 sudo apt-get install python3-sklearn
 sudo apt-get install libhdf5-serial-dev hdf5-tools
# 可以提前安装依赖包,如果网络情况好,可以跳过一下步骤
 sudo pip3 install Cython  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
 sudo pip3 install absl-py==0.7.0
 sudo pip3 install gast==0.2.2
 sudo pip3 install protobuf==3.11.2
 sudo pip3 install wrapt==1.11.2
 sudo pip3 install astor==0.8.1
 sudo pip3 install google-pasta==0.1.8
 sudo pip3 install keras  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
 sudo pip3 install grpcio-1.26.0.tar.gz
sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.14.0+nv19.10

注意:所有带sudo的命令都必须是appreciate以管理员身份运行的

因为没有换用国内镜像源,等待时间稍长一点,但为了防止出错这是值得的。如果因为超时有些时候是网络原因,可以先多试几次。

Segmentation fault (操作系统有哪些core dumped)

>>> import tensorflow as tf
Segmentation fault (core dumped)

如果出现这种情况,博主遇到的有两种可能
1.scipy版本不合适
在这种情况下可以卸载重装

sudo pip uninstall scipy
sudo apt-get install python3-scipy 

2.cudnn或googlecuda配置问题
检查一下是否安装了cudnn以及cuda的环境变量是否正确。
cudnn连接地址操作系统的主要功能是
选择google网站登录入口适合自己版本的cudnn(注意,jetson ngoogleplay安卓版下载ano 需要的版本的aarch)之后选择https安全问题cuDNN Library for Linux那一个
解压后执行如下命令将文件复制到cuda的文件中

# 复制cudnn头文件
sudo cp cuda/include/* /usr/local/cuda-10.0/include/
# 复制cudnn的库
sudo cp cuda/lib64/* /usr/local/cuda-10.0/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda-10.0/include/cudnn.h
sudo chmod +x /usr/local/cuda-10.0/lib64/libcudnn*

操作系统的主要功能是证是否成功

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

如果没有报错说明成功了

缺少如libcublas.so.10.0的问题

遇到这种问题可以找到cuubuntu安装da里面自带的版本相近的文件直接复制并且重命名就行,这里以libcublas.so.10.0,libcudart.so.10.0,libcusolverubuntu分区.so.10.0举例。

cd /usr/local/cuda-10/lib64
sudo cp libcublas.so.10 libcublas.so.10.0
sudo cp libcudart.so.10 libcudart.so.10.0
sudo cp libcusolver.so.10 libcusolver.so.10.0

解决Illegal instruction(core dumped)报错

当我在python3中import tensorflow时,出现如下错误:Illegalubuntu安装 instruction(core dumped)

1)打开bashrc文件

sudo gedit ~/.bashrc

2)在bashrc的最后一行添加

export OPENBLAS_CORETYPE=ARMV8

3)保存对bashrc的修改
4)如果希望修改马上生效,输入以下命令

source ~/.bashrc

后面可以自行安装一些需要的包,如PHTTPSIL

sudo pip install pillow

发表评论

提供最优质的资源集合

立即查看 了解详情