• 瞎折腾


    ncnn安卓端使用:https://blog.csdn.net/qq_36982160/article/details/79931741

    想玩玩ncnn,但由于之前opencv没装好,因此遇到了一些坑,特此记录

    注意:建议git两份ncnn,一份编译linux下的,一份编译android,分开编译,免得后面一堆坑。

    1、重新编译安装opencv

         参考https://www.cnblogs.com/eczhou/p/7860586.html 顺利安装

         坑:在编译的时候,注意那两个引号,是左上角的引号(和~同一个位置)

    g++ lena.cpp `pkg-config --cflags --libs opencv` -o lena

    2、cmake && make出现的坑:

    cannot find -lopencv_dep_cudart

        解决办法:https://github.com/caffe2/caffe2/issues/303

    $ rm build -rf # As you see
    $ mkdir build && cd build
    $ cmake .. -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF 
    $ make

    这个顺便解决了我之前编译caffe时候出现的问题

    3、ncnn的编译及显示

         https://blog.csdn.net/fuwenyan/article/details/76576708

         别忘了把synset_words.txt拷贝到build/examples下,否则报错:段错误    

    4、android ndk安装

         https://blog.csdn.net/davebobo/article/details/52446986

    5、build armv7 library时说我的cmake版本不够,

    CMake 3.6.0 or higher is required.  You are running version 3.5.1

    升级到3.9

    https://blog.csdn.net/u010472607/article/details/76166008

    6、protobuf冲突

          当前版本是3.5.1,找到的库却是3.4.0,用指令 可查看两个版本,在bashrc中将anaconda注释掉即可。

    sudo protoc --version
    protoc --version

          不过后面没有这么做了,也没有再出现问题

    7、编译armv7时候的坑

         https://github.com/Tencent/ncnn/wiki/how-to-build里面编译时给了三个平台编译的方式,编译Linux x86后再次编译armv7 library时

    一直报错:https://github.com/Tencent/ncnn/issues/139的错误,将opencv、cuda关掉也不行,后来才知道编译armv7是不依赖opencv的,PC上才依赖。

    重新git clone,直接编译即可。

    8、安卓开发环境的安装

       jdk安装:https://www.cnblogs.com/hwtblog/p/8404473.html

       android studio安装

        http://www.android-studio.org/下载

        解压移动到opt,安装:sudo /opt/android-studio/bin/studio.sh

        遇到问题:unable to access android sdk add-on list

        直接cancel,会下载组件,速度好慢啊。。

        创建快捷图标:https://blog.csdn.net/OOC_ZC/article/details/70808084

    9、Android Studio出现Failed to open zip file问题的解决方法

         http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2017/0317/7691.html

         就是改一下gradle-wrapper.properties中的distributionUrl,将是https改为http即可

    10、device support x86 but apk only supports armeabi-v7

            解决办法:项目根路径,app文件夹找到build.gradle文件,找到相关代码并改成如下形式:

            abiFilters 'armeabi','armeabi-v7a','armeabi-v8a',"x86"

    周末折腾了很久,终于折腾好了,中间遇到的问题 太多,都记不住了,都是在模拟器下出现的问题,换成真机调试后问题就解决了。

     接着折腾。。。

    11、参考https://blog.csdn.net/linmingan/article/details/77988382使用自己的模型

    首先是将alxnet.prototxt转为新版本的prototxt,在caffe-root根目录下,./build/tools/upgrade_net_proto_text   imagenet_train.prototxt  new_version_train.prototxt

    报错:Error parsing text-format caffe.NetParameter: 6:15: Message type "caffe.LayerParameter" has no field named "input_param"

    解决办法:用上面的input_shape替换下面的layer,转换后再替换回去。

    name: "GoogleNet"
    input: "data"
    input_shape {
      dim: 10
      dim: 3
      dim: 224
      dim: 224
    }
    
    caffe/models/bvlc_googlenet/deploy.prototxt
    
    name: "GoogleNet"
    layer {
      name: "data"
      type: "Input"
      top: "data"
      input_param { shape: { dim: 10 dim: 3 dim: 224 dim: 224 } }
    }

     12 、android studio 字体太小,调整下

            https://blog.csdn.net/baidu_35781767/article/details/54340350

     

  • 相关阅读:
    【LeetCode】006 ZigZag Conversion
    【LeetCode】009 Palindrome Number
    【LeetCode】008 String to Integer (atoi)
    【LeetCode】012 013 Roman Integer
    react-native 入门资源合集
    Thread和ExecutorService(一)
    DrawerLayout、CoordinatorLayout、CollapsingToolbarLayout的使用--AndroidSupportDesign练手
    Valid Number
    When Is Cheryl's Birthday
    【笔试】——常用运算符
  • 原文地址:https://www.cnblogs.com/573177885qq/p/8668097.html
Copyright © 2020-2023  润新知