Qualcomm的神经处理引擎 (二) Snapdragon NPE SDK 的环境配置

http://blog.csdn.net/s_jason/article/details/77979645


    上一篇博客简单描述了一下对Snapdragon NPE(Neural Processing Engine) SDK的初步了解,现在来看看配置环境,用Snapdragon NPE SDK进行人工智能的开发需要满足一些先决条件的,具体如下所述:

   1.需要运行一个卷积模型的一个或多个垂直行业,包括手机、汽车、物联网、AR,机器人,和机器人

    2.知道怎样去设置并且训练一个模型或者已经有一个训练好的模型文件。

   3.选择的framework应该是Caffe/Caffe2或者TensorFlow

    4.你做Android 的JAVA APPs或者使用Android或LInux本地的应用。

    5.需要有ubuntu 14.04的开发环境

    6.有一个支持的设备用来检测应用。


    一、系统配置

     1.准备一个ubuntu 14.04系统的电脑,虚拟机也可以。

    2.安装最新的Android Studio(下载链接:https://developer.android.com/studio/index.html)

    3.安装最新的Android SDK(通过Android Studio安装或者单独安装都可以)

    4.安装最新的Android NDK(通过Android Studio SDK Manager安装或者单独安装都可以)

    5.安装Caffe(安装连接:http://caffe.berkeleyvision.org/installation.html)

    根据源来安装Caffe的步骤:

    (1)sudo apt-get install cmake git libatlas-base-dev libboost-all-dev libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev liblmdb-dev libopencv-dev libprotobuf-dev libsnappy-dev protobuf-compiler python-dev python-numpy

    (2)git clone https://github.com/BVLC/caffe.git ~/caffe;

        cd ~/caffe;

        git reset --hard d8f79537

    (3)mkdir build;

        cd build;

        cmake ..;

        make all -j4;

       make install

   6.安装TensorFlow(Caffe和TensorFlow安装其中一个就可以,安装连接:https://www.tensorflow.org/install/)

    安装步骤:

    (1)sudo apt-get install python-pip python-dev python-virtualenv

    (2)mkdir ~/tensorflow;

        virtualenv --system-site-packages ~/tensorflow;

        source ~/tensorflow/bin/activate

    (3)pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.0-cp27-none-linux_x86_64.whl


二、配置SDK

这个配置主要是让Snapdragon NPE SDK通过python接口与Caffe和Tensorflow frameworks通信。

    1.下载NPE SDK

    2.解压到合适的路径

    3.安装缺少的系统包(主要是一些依赖)

    (1)sudo apt-get install python-dev python-matplotlib python-numpy python-protobuf python-scipy python-skimage python-sphinx wget zip

    (2)source ~/snpe-sdk/bin/dependencies.sh(检测所有依赖是否已经安装)

    (3)source ~/snpe-sdk/bin/check_python_depends.sh(检测所有的python依赖是否已经安装)

    (4)在当前控制台上初始化Snapdragon NPE SDK,在每个新的控制台上都要进行这个操作

       export ANDROID_NDK_ROOT=~/Android/Sdk/ndk-bundle(Android Studio默认路径,要改成自己的真实路径)

       source ./bin/envsetup.sh -c ~/caffe
        source ./bin/envsetup.sh -t ~/tensorflow(如果用的Caffe,这个命令不需要执行)


     系统和环境配置到此就结束了,后面再介绍使用情况。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
工厂模式是一种常用的软件设计模式,它允许将对象的创建和使用封装在工厂类中,从而避免直接实例化对象,并减少对特定类或实现类的依赖。在Java中,NullPointerException(NPE)是一种常见的运行时异常,它发生在试图访问或修改空对象引用所指向的内存位置时。因此,工厂模式可以通过以下几种方式来规避NPE: 1. 避免空对象引用:在工厂方法中,确保传递给工厂类的所有参数都是非空的。可以使用参数校验和错误处理机制来捕获和处理空指针异常。 2. 引入异常处理机制:在工厂方法中,可以使用try-catch语句块来捕获和处理空指针异常。如果工厂方法无法创建对象(例如,由于参数无效或资源不可用),则可以抛出适当的异常,而不是返回null。 3. 使用容器类:可以使用容器类来管理对象的生命周期,并在创建对象时进行空值检查。容器类可以确保对象不被空引用引用,并在对象被释放时进行清理。 4. 遵循依赖反转原则:工厂模式可以帮助遵循依赖反转原则(Dependency Inversion Principle),即将对象的创建和使用抽象化,使得客户端代码与特定实现解耦。这样可以降低代码之间的耦合度,提高代码的可维护性和可扩展性。 5. 使用安全的编程实践:在Java中,使用`Objects.requireNonNull`方法来确保对象不被null引用。这个方法会检查参数是否为null,如果不是null则返回参数本身,否则抛出NullPointerException异常。 通过遵循这些最佳实践和设计模式,可以有效地规避工厂模式中的NPE问题,提高代码的质量和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值