Jetson Nano安装MNN深度学习框架

Jetson Nano安装MNN深度学习框架

安装阿里巴巴的MNN框架

请参阅这里的文档: 在Jetson Nano上安装MNN深度学习框架

MNN 编译错误

1. question

In file included from /root/mnn-llm/MNN/source/backend/cpu/CPUBinary.cpp:18:
/root/mnn-llm/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<(const VecType&) const:
/root/mnn-llm/MNN/source/math/Vec.hpp:508:51: error: could not convert ‘{
    
    vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {
    
    aka ‘MNN::Math::Vec<float, 4>}
  508 |         VecType dst = {
    
     vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/root/mnn-llm/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>(const VecType&) const:
/root/mnn-llm/MNN/source/math/Vec.hpp:513:51: error: could not convert ‘{
    
    vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {
    
    aka ‘MNN::Math::Vec<float, 4>}
  513 |         VecType dst = {
    
     vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/root/mnn-llm/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<=(const VecType&) const:
/root/mnn-llm/MNN/source/math/Vec.hpp:518:51: error: could not convert ‘{
    
    vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {
    
    aka ‘MNN::Math::Vec<float, 4>}
  518 |         VecType dst = {
    
     vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/root/mnn-llm/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>=(const VecType&) const:
/root/mnn-llm/MNN/source/math/Vec.hpp:523:51: error: could not convert ‘{
    
    vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {
    
    aka ‘MNN::Math::Vec<float, 4>}
  523 |         VecType dst = {
    
     vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/root/mnn-llm/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator==(const VecType&) const:
/root/mnn-llm/MNN/source/math/Vec.hpp:528:51: error: could not convert ‘{
    
    vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {
    
    aka ‘MNN::Math::Vec<float, 4>}
  528 |         VecType dst = {
    
     vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>

参阅这里: NVIDIA Jetson编译报错
安装 MNN 2.7.1 编译不会报错
版本号 2.7.1

2. question

In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In static member function ‘static void MNN::Math::Vec<int, 4>::transpose4(MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&):
/home/orangepi/MNN/source/math/Vec.hpp:300:66: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
300 | vec0.value = vsetq_lane_s64(vgetq_lane_s64(m2m3.val[0], 0), vec0.value, 1);
| ^
/home/orangepi/MNN/source/math/Vec.hpp:300:62: error: cannot convert ‘int32x4_t’ {
    
    aka ‘__vector(4) int} to ‘int64x2_t’ {
    
    aka ‘__vector(2) long long int}
300 | vec0.value = vsetq_lane_s64(vgetq_lane_s64(m2m3.val[0], 0), vec0.value, 1);
| ~~~~~~~~~~^
| |
| int32x4_t {
    
    aka __vector(4) int}
In file included from /home/orangepi/MNN/source/math/Vec.hpp:16,
from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/usr/lib/gcc/arm-linux-gnueabihf/9/include/arm_neon.h:6307:27: note: initializing argument 1 of ‘int64_t vgetq_lane_s64(int64x2_t, int)6307 | vgetq_lane_s64 (int64x2_t __a, const int __b)
| ~~~~~~~~~~^~~
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp:301:62: error: cannot convert ‘int32x4_t’ {
    
    aka ‘__vector(4) int} to ‘int64x2_t’ {
    
    aka ‘__vector(2) long long int}
301 | vec1.value = vsetq_lane_s64(vgetq_lane_s64(m2m3.val[1], 0), vec1.value, 1);
| ~~~~~~~~~~^
| |
| int32x4_t {
    
    aka __vector(4) int}
In file included from /home/orangepi/MNN/source/math/Vec.hpp:16,
from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/usr/lib/gcc/arm-linux-gnueabihf/9/include/arm_neon.h:6307:27: note: initializing argument 1 of ‘int64_t vgetq_lane_s64(int64x2_t, int)6307 | vgetq_lane_s64 (int64x2_t __a, const int __b)
| ~~~~~~~~~~^~~
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp:302:62: error: cannot convert ‘int32x4_t’ {
    
    aka ‘__vector(4) int} to ‘int64x2_t’ {
    
    aka ‘__vector(2) long long int}
302 | vec2.value = vsetq_lane_s64(vgetq_lane_s64(m0m1.val[0], 1), vec2.value, 0);
| ~~~~~~~~~~^
| |
| int32x4_t {
    
    aka __vector(4) int}

参阅这里: 求助!MNN编译错误

猜你喜欢

转载自blog.csdn.net/weixin_52303102/article/details/134249742
今日推荐