tx2配置问题总结2


近期,又配置了一台tx2,出现了很多第一次没遇到过的问题,在此总结一下。

离线jetpack安装

可再次在ubuntu的host机上运行jetpack程序,用专用的黑线连接tx2和host机。如果装过一遍了,上次下下来的安装包已经存在host机上,没必要再登录重新下载了。

在jetpack的sdk中找到offline模式,跳过下载步骤直接安装。只要把列表上的包在tx2设备上装完就可以,即使出现没安装完毕的显示也不用管,可以直接配置ubuntu了。

pip/pip3

pip默认是python2
pip3是python3用,实际上是两个环境,切莫搞混!

apt-get换源

这里需要点一下,aarch64是ARMv8架构的统称(也有称作arm64的),该架构和普通个人计算机的amd64架构是不一样的,所以换源的时候需要换到aarch64的源。

不要因为系统是ubuntu18.04就直接换到网上对应amd64架构的国内源。

arm64的软件源修改如下:

  1. 备份:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
  2. 修改更新源:sudo vim /etc/apt/sources.list
  3. 清空并添加:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
  1. sudo apt-get update

歧路:因为装错源导致下载的包无法运行

ubuntu18.04命令行连接WiFi

试了很多,下面命令管用:

sudo nmcli dev wifi connect '网络名' password '密码' iface wlan0

h5py编译不通过

按照教程,就是卡在h5py上了,无法编译,错误信息:

   compile options: '-DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNO_ATLAS_INFO=1 -DHAVE_CBLAS -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -Inumpy/core/include -Ibuild/src.linux-aarch64-3.6/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/include/python3.6m -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -c'
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/alloc.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/arrayobject.c
      aarch64-linux-gnu-gcc: build/src.linux-aarch64-3.6/numpy/core/src/multiarray/arraytypes.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/array_assign.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/array_assign_scalar.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/array_assign_array.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/buffer.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/calculation.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/compiled_base.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/common.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/convert.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/convert_datatype.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/conversion_utils.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/ctors.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/datetime.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/datetime_strings.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/datetime_busday.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/datetime_busdaycal.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/descriptor.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/dtype_transfer.c
      aarch64-linux-gnu-gcc: build/src.linux-aarch64-3.6/numpy/core/src/multiarray/einsum.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/flagsobject.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/getset.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/hashdescr.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/item_selection.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/iterators.c
      aarch64-linux-gnu-gcc: build/src.linux-aarch64-3.6/numpy/core/src/multiarray/lowlevel_strided_loops.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/mapping.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/methods.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/multiarraymodule.c
      aarch64-linux-gnu-gcc: build/src.linux-aarch64-3.6/numpy/core/src/multiarray/nditer_templ.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/nditer_api.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/nditer_constr.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/nditer_pywrap.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/number.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/numpymemoryview.c
      aarch64-linux-gnu-gcc: numpy/core/src/multiarray/numpyos.c
      numpy/core/src/multiarray/numpyos.c:18:10: fatal error: xlocale.h: No such file or directory
       #include <xlocale.h>
                ^~~~~~~~~~~
      compilation terminated.
      numpy/core/src/multiarray/numpyos.c:18:10: fatal error: xlocale.h: No such file or directory
       #include <xlocale.h>
                ^~~~~~~~~~~
      compilation terminated.
      error: Command "aarch64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNO_ATLAS_INFO=1 -DHAVE_CBLAS -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -Inumpy/core/include -Ibuild/src.linux-aarch64-3.6/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/include/python3.6m -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -Ibuild/src.linux-aarch64-3.6/numpy/core/src/private -c numpy/core/src/multiarray/numpyos.c -o build/temp.linux-aarch64-3.6/numpy/core/src/multiarray/numpyos.o" failed with exit status 1
      ----------------------------------------
  ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-djbnoyy0/numpy_52e48db4e0574943a7cd1728dfa5ce48/setup.py'"'"'; __file__='"'"'/tmp/pip-install-djbnoyy0/numpy_52e48db4e0574943a7cd1728dfa5ce48/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-on5__ahc/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-0r_vm3bt/normal --compile --install-headers /tmp/pip-build-env-0r_vm3bt/normal/include/python3.6m/numpy Check the logs for full command output.
  --------------------------------------

各种办法都试了,就是不行。最后通过先装别的包顺便装的它。

sudo pip3 install -U numpy==1.19.4 future==0.18.2 mock==3.0.5
sudo pip3 install -U keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11

核心办法就是等,一个版本编译不通过pip3还会试着换版本下载,最后等了将近1个小时等到了正确的结果!

 Downloading h5py-2.10.0.tar.gz (301 kB)
     |████████████████████████████████| 301 kB 47 kB/s 
Requirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from keras_preprocessing==1.1.1) (1.11.0)
Building wheels for collected packages: gast, h5py
  Building wheel for gast (setup.py) ... done
  Created wheel for gast: filename=gast-0.2.2-py3-none-any.whl size=7538 sha256=01bffc2fd95123e705f1e1d1f9e7f15f3d61ed3e308c33acfd36aefc7325eb04
  Stored in directory: /tmp/pip-ephem-wheel-cache-5b0lfq25/wheels/19/a7/b9/0740c7a3a7d1d348f04823339274b90de25fbcd217b2ee1fbe
  Building wheel for h5py (setup.py) ... done
  Created wheel for h5py: filename=h5py-2.10.0-cp36-cp36m-linux_aarch64.whl size=4009209 sha256=c36dfd8a68d389441dce85ba40ab5b893728f904485842095af6ff7e5ccf73e6
  Stored in directory: /tmp/pip-ephem-wheel-cache-5b0lfq25/wheels/b6/56/20/c89cdcd2d96f5c4bac20ff8dad4477449d70c08abf70f08acf
Successfully built gast h5py

has inconsistent version: filename has ‘1.15.0+nv19.12’, but metadata has ‘1.15.0+nv19.12.tf1’

按照官网链接

sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION tensorflow==$TF_VERSION+nv$NV_VERSION

这里我对应jetpack版本和tf的版本如果输入:

sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v43 tensorflow-gpu==1.15.0+nv19.12 

结果发生错误,信息如下:

WARNING: The directory '/home/ps/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Looking in indexes: https://pypi.org/simple, https://developer.download.nvidia.com/compute/redist/jp/v43
Collecting tensorflow-gpu==1.15.0+nv19.12
  Downloading https://developer.download.nvidia.cn/compute/redist/jp/v43/tensorflow-gpu/tensorflow_gpu-1.15.0%2Bnv19.12-cp36-cp36m-linux_aarch64.whl (228.6 MB)
     |████████████████████████████████| 228.6 MB 7.3 MB/s 
WARNING: Discarding https://developer.download.nvidia.cn/compute/redist/jp/v43/tensorflow-gpu/tensorflow_gpu-1.15.0%2Bnv19.12-cp36-cp36m-linux_aarch64.whl (from https://developer.download.nvidia.cn/compute/redist/jp/v43/tensorflow-gpu/). Requested tensorflow-gpu==1.15.0+nv19.12 from https://developer.download.nvidia.cn/compute/redist/jp/v43/tensorflow-gpu/tensorflow_gpu-1.15.0%2Bnv19.12-cp36-cp36m-linux_aarch64.whl has inconsistent version: filename has '1.15.0+nv19.12', but metadata has '1.15.0+nv19.12.tf1'
ERROR: Could not find a version that satisfies the requirement tensorflow-gpu==1.15.0+nv19.12
ERROR: No matching distribution found for tensorflow-gpu==1.15.0+nv19.12

说metadata与filename不符,即使换了版本也不行。
试了很久,解决办法是:

sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 'tensorflow-gpu<2'

在降了一个版本的jetpack文件夹内寻找合适的tensorflow-gpu版本。(注:此处需要装tensorflow1系列的,不装2系列的)
经过一番寻找,才能正常顺利安装

WARNING: The directory '/home/ps/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Looking in indexes: https://pypi.org/simple, https://developer.download.nvidia.com/compute/redist/jp/v42
Collecting tensorflow-gpu<2
  Downloading https://developer.download.nvidia.cn/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.15.0%2Bnv19.11-cp36-cp36m-linux_aarch64.whl (228.1 MB)
     |████████████████████████████████| 228.1 MB 869 kB/s 
WARNING: Discarding https://developer.download.nvidia.cn/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.15.0%2Bnv19.11-cp36-cp36m-linux_aarch64.whl (from https://developer.download.nvidia.cn/compute/redist/jp/v42/tensorflow-gpu/). Requested tensorflow-gpu<2 from https://developer.download.nvidia.cn/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.15.0%2Bnv19.11-cp36-cp36m-linux_aarch64.whl has inconsistent version: filename has '1.15.0+nv19.11', but metadata has '1.15.0+nv19.11.tf1'
  Downloading https://developer.download.nvidia.cn/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.14.0%2Bnv19.10-cp36-cp36m-linux_aarch64.whl (225.3 MB)
     |████████████████████████████████| 225.3 MB 1.0 MB/s 
Requirement already satisfied: protobuf>=3.6.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow-gpu<2) (3.15.7)
Collecting absl-py>=0.7.0
...开始正常安装

可以看到安装过程中也是经过了两个tensorflow-gpu版本的选择才走上正轨,歪打正着解决问题。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值