Firefly开源社区

打印 上一主题 下一主题

[Linux] firefly3399开发板 ARM64 aarch64 等 安装新版tensorflow,解决版本不兼容问题

12

积分

0

威望

0

贡献

游客

积分
12

firefly3399开发板 ARM64 aarch64 等 安装新版tensorflow,解决版本不兼容问题

发表于 2018-7-22 00:37:59      浏览:9183 | 回复:1        打印      只看该作者   [复制链接] 楼主
本帖最后由 黄锦成 于 2018-7-22 00:37 编辑

由于目前的TensorFlow版本比较老旧导致很多算法和语法不通用编译报错,且没有几个贴详细说明如何在arm64上安装TensorFlow,借此为理由,写下人生第一个博客和firefly帖子。
---from中山
注意,安装的过程中会自动下载必须的包,需要连接好网络。脱机安装很可能失败。

1.安装必要的python环境
  1. <font color="Black">sudo apt-get install libpython3.5-dev wget python3-pip python3-dev python3.5</font>
复制代码

2.下载和安装别人编译好的arm(aarch64)版本tensorflow因为自己编译需要配大量环境和占用很多资源,对于嵌入式板上编译就变得非常不可能,且现有的方法更为简便

网上有别人编译好的TensorFlow,找到相应的文件。https://github.com/lhelontra/tensorflow-on-arm/releases
​​

  1. #使用wget下载tensorflow-1.9.0-cp35-none-linux_aarch64.whl到当前目录
  2. #命名规则:cp35对赢python3.5,aarch64表示架构信息
  3. wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.9.0/tensorflow-1.9.0-cp35-none-linux_aarch64.whl

  4. #必须制定使用python3.5安装tensorflow-1.9.0-cp35-none-linux_aarch64.whl
  5. sudo python3.5 -m pip install tensorflow-1.9.0-cp35-none-linux_aarch64.whl
复制代码

                              

​​

到此为止,TensorFlow已经安装完成了
3.修改python默认为python3.5

为了因为C++调用python时,默认是调用python2.7,这导致很多python3.5的语法报错。所以需要更改python默认软连接

  1. firefly@firefly:~/opencv-3-2$ python
  2. Python 3.5.2 (default, Nov 23 2017, 16:37:01)
  3. [GCC 5.4.0 20160609] on linux
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> import tensorflow as tf
  6. >>> hello = tf.constant('Hello world!')
  7. >>> sess = tf.Session()
  8. >>> print(sess.run(hello))
  9. b'Hello world!'
复制代码
测试调用一下:


  1. firefly@firefly:~/opencv-3-2$ python
  2. Python 3.5.2 (default, Nov 23 2017, 16:37:01)
  3. [GCC 5.4.0 20160609] on linux
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> import tensorflow as tf
  6. >>> hello = tf.constant('Hello world!')
  7. >>> sess = tf.Session()
  8. >>> print(sess.run(hello))
  9. b'Hello world!'
复制代码

4.出现的错误

有时候可能会出现缺少库额问题 bstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /usr/local/lib/python3.5/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so

参考: libstdc++.so.6: version `GLIBCXX3.4.22' not found

https://blog.csdn.net/u011961856/article/details/79644342


  1.   File "/usr/lib/python3.5/imp.py", line 242, in load_module
  2.     return load_dynamic(name, filename, file)
  3.   File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
  4.     return _load(spec)
  5. ImportError: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /usr/local/lib/python3.5/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so)


  6. Failed to load the native TensorFlow runtime.

  7. See https://www.tensorflow.org/install/install_sources#common_installation_problems

  8. for some common reasons and solutions.  Include the entire stack trace
  9. above this error message when asking for help.
  10. >>
复制代码
  1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test
  2. sudo apt-get update
  3. sudo apt-get upgrade
  4. sudo apt-get dist-upgrade
复制代码

参考文献:






回复

使用道具 举报

2965

积分

12

威望

22

贡献

高级创客

Rank: 6Rank: 6

积分
2965
发表于 2018-7-23 09:33:26        只看该作者  沙发
硬货
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表