zcu111是RFSoc,基本结构仍然是ARM+FPGA。最近想在板子上跑CNN,由于训练集较小,故打算直接在ARM上训练,因此需要在linux(pynq)环境下install深度学习框架,经过尝试之后成功在ARM上配置好了tensorflow,将过程简单记录如下:
组件:
- zcu111 v2.5 image
- tensorflow 1.10.1
由于代码中内存分配用到了XInk等模块,而最新的pynq v2.7 image已经舍弃该模块,会import失败,因此选择烧写v2.5版本(当然V2.7也完全没问题,只是需要使用其他模块),下载地址:
具体烧写过程不再赘述。
运行以下说明以更新系统软件:
[En]
Run the following instructions to update the system software:
sudo apt-get update
sudo apt-get upgrade
安装python和pip:
sudo apt-get install python3-pip python3-dev
pip3 install --upgrade pip
安装python科学套件:
sudo apt-get install python3-numpy python3-scipy python3-matplotlib python3-yaml
sudo apt-get install libhdf5-serial-dev
将python环境由2.7变为3.6:
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python
关键的一步来了,首先需要清楚板卡的ARM是哪一种架构,zcu111 搭载的是cortex-A53和Cortex-R5,均为64bit的aarch64架构,参考这一篇博客进行下载(建议在jupyter terminal中进行下载):
下载完成后,可能还会出现以下问题,并给出一般解决方案:
[En]
After the download is complete, the following problems may also arise and give a general solution:
(1)在python环境中import tensorflow,报错信息为numpy的版本不兼容,因此执行以下指令安装满足要求的numpy版本即可(我安装的是1.14.5):
sudo pip3 install numpy=1.14.5
(2)如果在串口终端进行下载,那么在jupyter中import tensorflow,可能返回:no module named tensorflow,在jupyter terminal中和串口调试软件的python环境中依次输入以下指令,查看环境信息:
import sys
sys.path
如果两个地方显示的路径不完全相同,原因可能是jupyter kernel的路径未包含tensorflow安装路径!这也就是为什么建议在jupyter terminal中install的原因,解决办法是卸载-重下。
Original: https://blog.csdn.net/weixin_41887299/article/details/122746188
Author: 鹿先森
Title: zcu111 with pynq环境下安装tensorflow
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/511238/
转载文章受原作者版权保护。转载请注明原作者出处!