因为要在arm(aarch64)架构的linux环境中安装tensorflow-gpu,但是官方tf网上没有对应的版本,所以我们找了好久,找到一个其他人编译好的tensorflow on arm的github(https://github.com/lhelontra/tensorflow-on-arm),但是用pip install 完成之后 的时候出现
谷歌了一下,发现需要更新libstdc++,但是试过无数种办法,始终更新不了!!!
然后我们又在nvidia官网找了另一种方法:https://docs.nvidia.com/deeplearning/dgx/install-tf-jetsontx2/index.html,
这个是nvidia专门为jetson tx2的板子出的tensorflow,直接用pip命令装就可以。
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp33 tensorflow-gpu
但是有一个问题,它的前提是要安装Jetpack3.3,里面包含了cuda、cudnn、opencv等。然后问题来了,怎么安装Jetpack3.3呢,这就相当于给手机刷机,还要准备一条usb线,连接两台机器。
首先需要在一台linux_86_64的电脑上下载好.run文件(注意是在另外一台机器上下载安装),下载地址:https://developer.nvidia.com/embedded/downloads#?search=jetpack%203.3
安装官方指南一步一步安装,前面都很顺畅,但是到了这里的时候就有点懵逼了
一开始我们用的是第二种方法,让pc机和tx2机都连上wifi,这个过程没有出错,但是安装好发现,我的pc机上不了网,也更新不了wifi列表了,这是因为在选择第二种方法的时候我的pc机变成了路由器。解决方法是
修改 /etc/netowork/interfaces
只留下前面两行:
auto lo
iface lo inet loopback
就可以正常搜索wifi了。
第一种方法是需要两台机都连上相同的路由器,然而!无论采用哪一种方法,安装过程中没有报错,但是刷机后发现仍然是没有cuda在/usr/local/目录下的。。。绞尽脑汁,搜遍网络。
最后发现,其实pc机上的安装过程中下载好了cuda包,我可以直接把需要的包拷贝过来,然后在目标jetson tx2上面安装啊!
在 jetpack_download的文件价下面:
选择前三个包,然后拷贝到arm主机上面,分别执行3条 sudo dpkg -i cuda-xxxx.deb 命令安装这3个包。
然后:
sudo apt update
sudo apt install cuda-toolkit-9.0
cuda9.0就安装好了!!!!!