endif
# boost::thread is called boost_thread-mt to mark multithreading on OS X
LIBRARIES += boost_thread-mt
+ NVCCFLAGS += -DOSX
endif
# Custom compiler
#ifndef CAFFE_DATA_TRANSFORMER_HPP
#define CAFFE_DATA_TRANSFORMER_HPP
+#ifndef OSX
#include <opencv2/core/core.hpp>
+#endif
#include <vector>
void Transform(const vector<Datum> & datum_vector,
Blob<Dtype>* transformed_blob);
+#ifndef OSX
void Transform(const cv::Mat& cv_img, Blob<Dtype>* transformed_blob);
+#endif
void Transform(Blob<Dtype>* input_blob, Blob<Dtype>* transformed_blob);
#ifndef CAFFE_UTIL_IO_H_
#define CAFFE_UTIL_IO_H_
+#ifndef OSX
#include <opencv2/core/core.hpp>
+#endif
#include <unistd.h>
#include <string>
return ReadImageToDatum(filename, label, 0, 0, true, datum);
}
+#ifndef OSX
cv::Mat ReadImageToCVMat(const string& filename,
const int height, const int width, const bool is_color);
}
void CVMatToDatum(const cv::Mat& cv_img, Datum* datum);
+#endif
leveldb::Options GetLevelDBOptions();
}
}
layers {
- name: "accuracy"
+ name: "top-1"
type: ACCURACY
bottom: "fc8"
bottom: "label"
- top: "accuracy"
+ top: "top-1"
+ include: { phase: TEST }
+}
+layers {
+ name: "top-5"
+ type: ACCURACY
+ bottom: "fc8"
+ bottom: "label"
+ top: "top-5"
+ accuracy_param: { top_k: 5 }
include: { phase: TEST }
}
layers {
+#ifndef OSX
#include <opencv2/core/core.hpp>
+#endif
#include <string>
#include <vector>
}
}
+#ifndef OSX
template<typename Dtype>
void DataTransformer<Dtype>::Transform(const cv::Mat& cv_img,
Blob<Dtype>* transformed_blob) {
CVMatToDatum(cv_img, &datum);
Transform(datum, transformed_blob);
}
+#endif
template<typename Dtype>
void DataTransformer<Dtype>::Transform(Blob<Dtype>* input_blob,