darknet源碼學習:forward_network_gpu

更多darknet源代碼學習筆記,參看:darknet源碼學習:預測分類函數float *network_predict_gpu(network net, float *input)

forward_network_gpu()函數在network_kenels.cu中實現

void forward_network_gpu(network net, network_state state)
{
    state.workspace = net.workspace;
    int i;
    for(i = 0; i < net.n; ++i){
        state.index = i;
        layer l = net.layers[i];
        if(l.delta_gpu && state.train){
            //預測分類的時候,fill_ongpu函數不調用
            fill_ongpu(l.outputs * l.batch, 0, l.delta_gpu, 1);
        }
       
        l.forward_gpu(l, state);       

        if(net.wait_stream)
            cudaStreamSynchronize(get_cuda_stream());
        state.input = l.output_gpu;      
       
    }
   
}

darknet源碼解析:network結構體之workspace

darknet源碼解析:network結構體之n,本應用中使用cfg文件網絡層數爲27,即net.n=27。

預測分類的時候,fill_ongpu函數不調用,所以此處不作解析。

darknet源碼解析:layer結構體之forward_gpu

 

 

 

發佈了373 篇原創文章 · 獲贊 151 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章