【软件安装】caffe+matlab 问题

安装caffe和matlab接口,运行 make matcaffe 时出现以下问题:

      caffe::Layer<float>* handle_to_ptr<caffe::Layer<float> >(mxArray_tag const*) in caffe_.o
      caffe::Blob<float>* handle_to_ptr<caffe::Blob<float> >(mxArray_tag const*) in caffe_.o
      caffe::Solver<float>* handle_to_ptr<caffe::Solver<float> >(mxArray_tag const*) in caffe_.o
      caffe::Net<float>* handle_to_ptr<caffe::Net<float> >(mxArray_tag const*) in caffe_.o
      caffe::Layer<float>* handle_to_ptr<caffe::Layer<float> >(mxArray_tag const*) in caffe_.o
      caffe::Blob<float>* handle_to_ptr<caffe::Blob<float> >(mxArray_tag const*) in caffe_.o
  "_mxSetCell_730", referenced from:
      net_get_attr(int, mxArray_tag**, int, mxArray_tag const**) in caffe_.o
  "_mxSetField_730", referenced from:
      get_solver(int, mxArray_tag**, int, mxArray_tag const**) in caffe_.o
      solver_get_attr(int, mxArray_tag**, int, mxArray_tag const**) in caffe_.o
      get_net(int, mxArray_tag**, int, mxArray_tag const**) in caffe_.o
      net_get_attr(int, mxArray_tag**, int, mxArray_tag const**) in caffe_.o
      layer_get_attr(int, mxArray_tag**, int, mxArray_tag const**) in caffe_.o
      mxArray_tag* ptr_vec_to_handle_vec<caffe::Blob<float> >(std::__1::vector<boost::shared_ptr<caffe::Blob<float> >, std::__1::allocator<boost::shared_ptr<caffe::Blob<float> > > > const&) in caffe_.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [matlab/+caffe/private/caffe_.mexmaci64] Error 255

 

最终在github上找到解决方案:

        在Makefile.config中的LIBRARY_DIRS修改为

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /Applications/MATLAB_R2018a.app/bin/maci64 /usr/lib

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
caffe是一个深度学习框架,而matlab是一个数学计算软件,两者可以结合使用来进行深度学习的研究和开发。具体来说,可以使用matlab来编写caffe的网络结构和训练脚本,并使用caffe来进行模型的训练和测试。 下面是一个使用caffematlab结合进行图像分类的例子: 1. 首先需要安装caffematlab,并将它们配置好。 2. 编写网络结构和训练脚本。可以使用matlabcaffe接口来编写网络结构和训练脚本,例如: ```matlab % 定义网络结构 net = caffe.NetSpec(); net.data = caffe.Input('shape', [28 28 1 100]); net.conv1 = caffe.Convolution('kernel_size', 5, 'num_output', 20, 'stride', 1); net.pool1 = caffe.Pooling('pool', 'MAX', 'kernel_size',2, 'stride', 2); net.conv2 = caffe.Convolution('kernel_size', 5, 'num_output', 50, 'stride', 1); net.pool2 = caffe.Pooling('pool', 'MAX', 'kernel_size', 2, 'stride', 2); net.fc1 = caffe.InnerProduct('num_output', 500); net.relu1 = caffe.ReLU(); net.fc2 = caffe.InnerProduct('num_output',10); net.loss = caffe.SoftmaxWithLoss(); % 保存网络结构 caffe.Net('lenet.prototxt', 'train'); % 训练网络 caffe.set_mode_cpu(); solver = caffe.Solver('lenet_solver.prototxt');solver.solve(); ``` 3. 进行模型的训练和测试。可以使用caffe提供的命令行工具来进行模型的训练和测试,例如: ```shell # 训练模型 caffe train -solver lenet_solver.prototxt # 测试模型 caffe test -model lenet.prototxt -weights lenet_iter_10000.caffemodel -gpu 0 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值