国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Caffe代碼閱讀8:absval_layer層的實現

2019-11-09 13:31:48
字體:
來源:轉載
供稿:網友

這一層比較簡單:主要就是求絕對值,反傳部分的代碼也很簡單

里頭用到了caffe_abs這個函數以及caffe_cpu_sign這兩個函數

需要注意的是caffe_cpu_sign在math_functions.hpp里頭定義得比較特別

在math_functions.hpp里只有caffe_sign,通過一個宏定義生成了caffe_cpu_sign這個函數

整體來說沒啥特別的內容,直接上代碼吧。

[cpp] view plain copy 在CODE上查看代碼片派生到我的代碼片#include <vector>    #include "caffe/layers/absval_layer.hpp"  #include "caffe/util/math_functions.hpp"    namespace caffe {    template <typename Dtype>  void AbsValLayer<Dtype>::LayerSetUp(const vector<Blob<Dtype>*>& bottom,        const vector<Blob<Dtype>*>& top) {    NeuronLayer<Dtype>::LayerSetUp(bottom, top);    CHECK_NE(top[0], bottom[0]) << this->type() << " Layer does not "      "allow in-place computation.";  }    template <typename Dtype>  void AbsValLayer<Dtype>::Forward_cpu(      const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) {    const int count = top[0]->count();    Dtype* top_data = top[0]->mutable_cpu_data();    caffe_abs(count, bottom[0]->cpu_data(), top_data);  }    template <typename Dtype>  void AbsValLayer<Dtype>::Backward_cpu(const vector<Blob<Dtype>*>& top,      const vector<bool>& PRopagate_down, const vector<Blob<Dtype>*>& bottom) {    const int count = top[0]->count();    // 前面一層關于本層top的偏導    const Dtype* top_diff = top[0]->cpu_diff();    if (propagate_down[0]) {      const Dtype* bottom_data = bottom[0]->cpu_data();      Dtype* bottom_diff = bottom[0]->mutable_cpu_diff();      // 將bottom_data里頭的每個元素的正負值復制到bottom_diff      caffe_cpu_sign(count, bottom_data, bottom_diff);      // 計算偏導數計算關于本層bottom的偏導      // 將關于top的偏導乘以當前層bottom中每個數據的符號      caffe_mul(count, bottom_diff, top_diff, bottom_diff);    }  }    #ifdef CPU_ONLY  STUB_GPU(AbsValLayer);  #endif    INSTANTIATE_CLASS(AbsValLayer);  REGISTER_LAYER_CLASS(AbsVal);    }  // namespace caffe  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长乐市| 东丰县| 象山县| 武功县| 康乐县| 克山县| 隆回县| 阿克陶县| 剑川县| 宁强县| 大同县| 岳西县| 炎陵县| 盐源县| 清远市| 当涂县| 偏关县| 十堰市| 大埔区| 邵东县| 噶尔县| 五华县| 太白县| 贡山| 内乡县| 南和县| 乡宁县| 澜沧| 巩留县| 新宾| 酒泉市| 贵阳市| 扬州市| 佛学| 南岸区| 城市| 乡宁县| 定兴县| 嘉峪关市| 油尖旺区| 邳州市|