更多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