前言
本人运行环境:win7 64位+matlab2015rb+vs2013/2012
关于配置文件中(prototxt)相对路径的问题
这个件事情是需要分开讲的,完全用c++接口,用原始项目编译出来的caffe.exe来进行训练的话,当前目录就是你运行caffe.exe的目录(我假设你已经把caffe.exe的目录放到环境变量里了).
比如我写了个 runTrain.sh
里面是这么写的
#!/bin/bash
caffe train -solver models\\num_lenet_pro_solver.prototxt
那么里配置文件里面如果写了相对路径配置数据集目录、快照目录等,当前目录就是这个脚本的目录
如果你用的matlab的接口的话,情况就不大一样的。当前目录不是matlab运行文件的目录而是你的solver的目录。
用过matlab接口的人都知道,如果你配置文件写错了的话,matlab整个进程一声不吭什么错误信息都不告诉你就当掉了(比女朋友还任性),所以你可能会像我一样会先用caffe去测试一下,而且又因为你也把数据模型都分在了不同的目录下,此时配置文件就不能在两种情况下通用了,因为当前目录不同嘛,你的相对路径总有个是错的。此时。。。就老老实实用绝对路径吧=。= 保准不出错。