caffe庫源碼剖析——net層

net層的功能實現主要涉及到net.hpp和net.cpp文件,讓咱們要捋順它是幹了什麼,是如何實現的。網絡

1. net層使用到的參數

第一步要作的事,就是查看caffe.proto文件,弄清楚net都包含哪些控制參數:函數

  • name: 是string格式,表示當前net的名字。
  • force_backward: bool類型,表示是否強制net中的每個layer都進行梯度反向傳播操做,若是是否的話, layer是否進行反向傳播則由當時的context決定了。
  • state: NetState類型,表示net當前的狀態,NetState包含了phase/level/stage三個成員, 增長sate參數的目的是能夠對一些layer進行有選擇性的進行包含,由於每個layer中包含了一個NetStateRule的參數。
  • debug_info: bool類型,表示在網格的forward/backward/update階段是否要打印調試信息。
  • layer: LayerParameter類型的列表,表示該net中包含的全部layer的參數,這個很很是重要的,這個layer組成了該net.
  • input: string類型的列表,表示網絡的輸入(每個blob都對應了一個輸入)( 舊版本參數,已遺棄)
  • input_shape: blobshape類型的列表,表示輸入的形狀( 舊版本參數,已遺棄)
  • input_dim : int類型的列表,表示輸出的維度( 舊版本參數,已遺棄)
  • layers: V1LayerParameter的列表( 舊版本參數,已遺棄)

2. net類

成員變量

  • name_: net的名字。

成員函數

相關文章
相關標籤/搜索