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

71意见(过去30天)
比尔周
比尔周 2019年4月10日
编辑: 小兴王 2021年4月20日
我看到使用Matlab编码器支持代码生成的一些深度学习网络:万博1manbetx
我在这里看到了关于构建ARM计算库的问题:
我拥有的下一个问题是,如何将ARM目标上的环境变量设置为指向ARM计算库?

接受的答案

比尔周
比尔周 2019年4月10日
为避免在ARM硬件目标上构建故障,例如Raspberry PI和Hikey960,您必须将必要的环境变量无关紧称。
例如,将computellibrary文件夹安装在用户主目录~下,而ARM计算库存储在~/ computellibrary /lib下,你可以将以下代码块添加到~/.bashrc文件中:
设置在下面如果你用您的硬件不是交互式的(通过SSH从远程主机或tty/new终端到本地机器)
情况下$- 在
*一世*) ;;
*)
出口ARM_COMPUTELIB = ~ / ComputeLibrary
出口路径= ${路径}:~ / ComputeLibrary
出口ld_library_path = $ {ld_library_path}:〜/ compoilelibrary / lib
返回;;
esac
3评论
Pranet Kala.
Pranet Kala. 2019年11月1日
有同样的问题。我在同一路径上有一个arm_compute文件夹,作为我尝试部署的例子,我仍然收到此错误。它正在使用MemoryRegion.h文件发生,然后我将整个文件夹(ARM_Compute /运行时)添加到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)用于非登录壳。
/ 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
附加到历史文件,不要覆盖
购物- s histappend
或者,您可以在〜/ .bashrc之前的前几行设置环境变量 返回;; 声明
~ / . bashrc: executed byBash(1)用于非登录壳。
/ 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条评论
小兴王
小兴王 2021年4月20日
亲爱的Hariprasad,
谢谢你的解决方案。做得很成功!
修改后,我现在可以在raspberry pi 3b +上运行分段深网络。
虽然这是多余的,以下是我的设置作为参考。
~ / . bashrc: executed byBash(1)用于非登录壳。
/ 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 / Runtime /”与“ARM_Compute_Runtime /”之间。
1条评论
大卫。Buellis
大卫。Buellis 2019年9月25日
你好可!
谢谢你的帮助!对不起,我制作了一个错字,它不是“arm_compute_runtime /”。我纠正了这个问题。

登录评论。