darknet源码学习:预测分类函数float *network_predict_gpu(network net, float *input)

更多darknet预测分类动态库文章参考:自己动手实现darknet预测分类动态库

预测分类函数:float *network_predict_gpu(network net, float *input)

float *network_predict_gpu(network net, float *input)
{
    if (net.gpu_index != cuda_get_device())
        cuda_set_device(net.gpu_index);
    int size = get_network_input_size(net) * net.batch;
    network_state state;
    state.index = 0;
    state.net = net;
    //state.input = cuda_make_array(input, size);   // memory will be allocated in the parse_network_cfg_custom()
    state.input = net.input_state_gpu;
    memcpy(net.input_pinned_cpu, input, size * sizeof(float));
    cuda_push_array(state.input, net.input_pinned_cpu, size);
    state.truth = 0;
    state.train = 0;
    state.delta = 0;
    forward_network_gpu(net, state);
    float *out = get_network_output_gpu(net);
    //cuda_free(state.input);   // will be freed in the free_network()
    return out;
}

 

darknet源码解析:get_network_input_size

darknet源码解析:network结构体之input_state_gpu

darknet源码解析:networ结构体之input_pinned_gpu

darknet源码解析:cuda_push_array

darknet源码解析:forward_network_gpu

darknet源码解析:get_network_output_gpu()

 

发布了373 篇原创文章 · 获赞 151 · 访问量 33万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章