Caffe 使用MKL進行PCA編譯出錯

2021-07-30 00:09:39 字數 522 閱讀 4012

caffe的blas庫使用的是mkl,自己寫的pca也使用了mkl,在編譯的時候始終通不過。報的錯是cblas中的cblasnotrans被重定義。

於是檢視caffe源**include/caffe/util/mkl_alternate.hpp中發現

#ifdef use_mkl

#include

#else  // if use mkl, simply include the mkl header

extern "c"

#include

猜測可能是因為沒有宣告使用use_mkl,於是標頭檔案將cblas.h包含了進來,但是自己的pca**中include了mkl.h, 然後cblasnotrans、cblasrowmajor等常量

被包含2次所以就報了錯。

解決方法:在inlcude caffe.hpp 的前面宣告使用mkl

#ifndef use_mkl

#define use_mkl

#endif

編譯之後,便可以直接通過了

使用pca進行座標系轉換 降維

pca是一種常用的資料降維的方法,而其中的降維的步驟就是 如果我們不選擇這個步驟,那麼就不會進行降維了,反而會進行座標系的轉換。新座標的優化目的 使得座標軸正交,並且沿著這些座標方向的資料的方差最大。clear clc close all mul 1 2 sigma 1 0.81 0.81 1 da...

numpy使用MKL庫提公升計算效能

系統 gentoo linux 64bit,kernel 3.7.1 配置 intel r core tm i7 2670qm 在gentoo中安裝numpy scipy非常簡單,直接emerge就可以解決。但是預設鏈結的blas lapack庫效能非常差,在矩陣計算方面比matlab慢了不少。原因...

Caffe使用教程

by shicai yang 星空下的巫師 on 2015 08 06 include caffe caffe.hpp include include using namespace caffe char proto h models caffe deploy.prototxt 載入caffenet...