新版caffe新增自己的層(目前只學會新增,我想要新增的loss還沒能實現),cu檔案用於cuda加速的程式碼 新版caffe新增自己的層(目前只學會新增,我想要新增的loss還沒能實現)
阿新 • • 發佈:2018-12-16
原
3)在./src/caffe/layers/目錄下新建.cpp和.cu檔案,進行類實現。也是複製,然後改檔名,替換檔案中的
euclidean,注意大小寫。
4)在./src/caffe/gtest/中增加layer的測試程式碼,對所寫的layer前傳和反傳進行測試,測試還包括速度。
最後一步很多人省了,或者沒意識到,但是為保證程式碼正確,建議還是嚴格進行測試,磨刀不誤砍柴功。
(二)編譯
make all -j 8
(三)測試
找一個工程程式碼,將程式碼中的network定義檔案中的
euclidean_loss_layer層換為whole_loss_layer層
注意:一定要注意細節,大小寫
下一步:實現自己的損失函式,要用cblas函式改寫。
新版caffe新增自己的層(目前只學會新增,我想要新增的loss還沒能實現)
2016年10月05日 16:23:25 scarlette唐 閱讀數:1989 更多今天實現了在caffe框架中加入一個層,完成歐式距離的任務。之所以這樣,是因為還沒有實現自己想要的loss,只是試著學者,看能不能把新增層的流程順下來。最後實現了。 (一)總體框架 1)在./src/caffe/proto/caffe.proto 中增加 對應layer的paramter message;查詢 euclidean,然後根據euclidean_loss加一個whole_loss,加一個數就可以了。 2)在./include/caffe/layers/ 資料夾中增加該layer的類的宣告.h檔案,直接將歐式距離的hpp檔案euclidean_loss_layer.h複製,命名為whole_loss_layer.h,然後開啟檔案,將 euclidean替換為whole,注意大小寫。<div class="tags-box space"> <span class="label">個人分類:</span> <a class="tag-link" href="https://blog.csdn.net/u011037837/article/category/6398977" target="_blank">caffe </a> </div> </div> <div class="operating"> </div> </div> </div> </div> <article class="baidu_pl"> <div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"> <div class="article-copyright"> 版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/u011037837/article/details/52739272 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-2c6a5211c9.css"> <div class="htmledit_views" id="content_views">
注意:一定要注意細節,大小寫
下一步:實現自己的損失函式,要用cblas函式改寫。