1. 程式人生 > >Caffe訓練和使用時候的當前路徑

Caffe訓練和使用時候的當前路徑

前言

本人執行環境: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去測試一下,而且又因為你也把資料模型都分在了不同的目錄下,此時配置檔案就不能在兩種情況下通用了,因為當前目錄不同嘛,你的相對路徑總有個是錯的。此時。。。就老老實實用絕對路徑吧=。= 保準不出錯。