MATLAB编码器:如何设置ARM目标上的环境变量指向ARM计算库?

25次浏览(过去30天)
我看到了一些使用MATLAB Coder支持代码生成的深度学习网络:金宝app
我在这里看到了关于构建ARM计算库的问题:
下一个问题是,我如何设置ARM目标上的环境变量指向ARM计算库?

接受的答案

比尔周
比尔周 2019年4月10日
为了避免在ARM硬件目标(如树莓派和Hikey960)上构建失败,必须非交互地设置必要的环境变量。
例如,ComputeLibrary文件夹安装在~,用户主目录下,而ARM计算库存储在~/ComputeLibrary/lib,你可以将这个代码块添加到~/.bashrc文件中:
下面的设置如果你使用非交互地(通过SSH从远程主机或tty/new终端连接到本地机器)
情况下——在
*我*);;
*)
出口ARM_COMPUTELIB = ~ / ComputeLibrary
出口路径= ${路径}:~ / ComputeLibrary
出口LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}: ~ / ComputeLibrary / lib
返回;;
esac
3评论
Praneet卡拉
Praneet卡拉 2019年11月1日
有同样的问题。我有整个arm_compute文件夹在相同的路径上的例子,我试图部署,我仍然得到这个错误。它发生在MemoryRegion.h文件中,然后我将整个文件夹(arm_compute/runtime)添加到MATLAB中的路径中,我得到了这个错误。
任何帮助都将不胜感激

登录评论。

更多答案(2)

Hariprasad Ravishankar
Hariprasad Ravishankar 2019年11月19日
你好,
构建错误” arm_compute/runtime/NEON/NEFunctions.h:没有这样的文件或目录 说明“ARM_COMPUTELIB”环境变量可能设置错误。
如果您在~/的末尾设置了环境变量,则可能会出现这种情况。Bashrc脚本,而不是开始。
为了非交互地执行命令,例如 codegen 命令在主机上从MATLAB编译到树莓派上,环境变量需要在
情况下——在
*我*);;
*)
...
返回;;
esac
~ / . bashrc 脚本。此部分可在 ~/.的前几行。bashrc脚本( 非交互式的 shell。
这里是它是如何设置供我参考
~ / . bashrc: executed byBash(1)用于非登录shell。
看到/usr/share/doc/bash/examples/startup-files(在bash-doc包中)
例子
如果没有交互运行
情况下——在
*我*);;
*)出口ARM_COMPUTELIB = ~ / ComputeLibrary
出口路径= ${路径}:~ / ComputeLibrary
出口LD_LIBRARY_PATH = ~ / opencv-3.2.0 /构建/ lib: ~ / ComputeLibrary / lib: LD_LIBRARY_PATH美元
返回;;
esac
不要把重复行或历史记录中以空格开头的行。
看到Bash(1)获取更多选项
HISTCONTROL = ignoreboth
附加到历史文件,不要覆盖
shopt- s histappend
或者,您可以在~/的前几行中设置环境变量。Bashrc之前 返回;; 声明
~ / . bashrc: executed byBash(1)用于非登录shell。
看到/usr/share/doc/bash/examples/startup-files(在bash-doc包中)
例子
出口ARM_COMPUTELIB = ~ / ComputeLibrary
出口路径= ${路径}:~ / ComputeLibrary
出口LD_LIBRARY_PATH = ~ / opencv-3.2.0 /构建/ lib: ~ / ComputeLibrary / lib: LD_LIBRARY_PATH美元
如果没有交互运行
情况下——在
*我*);;
*)
返回;;
esac
1评论
Xiaoxing王
Xiaoxing王 2021年4月20日
编辑:Xiaoxing王 2021年4月20日
亲爱的Hariprasad,
谢谢你的解决方案。它工作得很完美!
修改后,我现在可以在我的树莓派3B+上运行分割深度网络。
虽然这是多余的,下面是我的设置作为参考。
~ / . bashrc: executed byBash(1)用于非登录shell。
看到/usr/share/doc/bash/examples/startup-files(在bash-doc包中)
例子
出口ARM_COMPUTELIB = ~ / ComputeLibrary
出口路径= ${路径}:~ / ComputeLibrary
出口LD_LIBRARY_PATH = ~ / opencv-3.2.0 /构建/ lib: ~ / ComputeLibrary / lib: LD_LIBRARY_PATH美元
如果没有交互运行不要做某事任何东西
情况下——在
*我*);;
*)返回;;
esac
...

登录评论。


可奥尔森
可奥尔森 2019年9月24日
你好大卫,
当你在等待一个狡猾的人的回答时,我想我提醒你注意一个小问题,它可能至少是编译错误的一部分。错误消息中的路径和您在查询的后面部分提到的路径之间似乎相差一个字符,即。“arm_compute /运行/”vs。“arm_compute_runtime /”。
1评论
大卫。Buellis
大卫。Buellis 2019年9月25日
你好可!
谢谢你的帮助!对不起,我打错了,它不是“arm_compute_runtime/”。我纠正了这个问题。

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的