zoukankan      html  css  js  c++  java
  • Caffe Blob测试

    本例子来源于《21天实战Caffe》

    代码如下:

    #include <vector>
    #include <iostream>
    #include <caffe/blob.hpp>
    using namespace caffe;
    using namespace std;
    int main(void)
    {
      Blob<float> a;
      cout<<"Size : "<< a.shape_string()<<endl;
      a.Reshape(1, 2, 3, 4);
      cout<<"Size : "<< a.shape_string()<<endl;
      
      
      
      // 续上面代码
      float * p = a.mutable_cpu_data();
      for(int i = 0; i < a.count(); i++)
      {
        p[i] = i;
      }
      for(int u = 0; u < a.num(); u++)
      {
        for(int v = 0; v < a.channels(); v++)
        {
          for(int w = 0; w < a.height(); w++)
          {
            for(int x = 0; x < a.width(); x++)
            {
              cout<<"a["<<u<<"]["<<v<<"]["<<w<<"]["<<x<<"] = "<< a.data_at(u, v, w, x)<<endl;
            }
          }
        }
      }
      
      // 续上面代码
      cout<<"ASUM = "<<a.asum_data()<<endl;
      cout<<"SUMSQ = "<<a.sumsq_data()<<endl;
    
      return 0;
    }

    本机的caffe目录为/home/jourluohua/src/caffe,因此编译命令为:

    g++ -o test blob_demo.cpp -I/home/jourluohua/src/caffe/include/ -D CPU_ONLY -I/home/jourluohua/src/caffe/.build_release/src/ -L/home/jourluohua/src/caffe/build/lib/ -lcaffe
    

     但是却报

    /usr/bin/ld: /tmp/cckoNotB.o: undefined reference to symbol '_ZN6google4base21CheckOpMessageBuilder7ForVar2Ev'
    //usr/lib/x86_64-linux-gnu/libglog.so.0: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    

     猜想是找不到libglog的问题,但是之前是使用apt安装过的,因此,加入对glog库的链接后正常:

    g++ -o test blob_demo.cpp -I/home/jourluohua/src/caffe/include/ -D CPU_ONLY -I/home/jourluohua/src/caffe/.build_release/src/ -L/home/jourluohua/src/caffe/build/lib/ -lcaffe -lglog
    

     之后加入运行库后(和Halide的使用方式一致)

    export LD_LIBRARY_PATH=/home/jourluohua/src/caffe/build/lib/:$LD_LIBRARY_PATH
    

    使用./test可得到结果

  • 相关阅读:
    MongoDB的下载与安装
    Oracle PL/SQL 编程手册(SQL大全)
    内部类、异常、其他
    异常(补充)
    final、抽象类、接口、多态、
    改变JVM中的参数以提高Eclipse的运行速度
    Java中的三目运算符 详解
    Java中的Stringbuffer类解析
    Staitic(静态) 相关知识点介绍
    Java反射
  • 原文地址:https://www.cnblogs.com/jourluohua/p/10618534.html
Copyright © 2011-2022 走看看