basic版本的yolo,在yolov3版本上增加人体跟踪
xuepengqiang
2020-05-26 5966f2b095841627d62daac0159e81f83544b85c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#ifndef CUDA_H
#define CUDA_H
 
#if defined(_MSC_VER) && _MSC_VER < 1900
    #define inline __inline
#endif
 
#ifdef YOLODLL_EXPORTS
#if defined(_MSC_VER)
#define YOLODLL_API __declspec(dllexport) 
#else
#define YOLODLL_API __attribute__((visibility("default")))
#endif
#else
#if defined(_MSC_VER)
#define YOLODLL_API
#else
#define YOLODLL_API
#endif
#endif
 
extern int gpu_index;
 
#ifdef GPU
 
#define BLOCK 512
 
#include "cuda_runtime.h"
#include "curand.h"
#include "cublas_v2.h"
 
#ifdef CUDNN
#include "cudnn.h"
#endif // CUDNN
 
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
    void check_error(cudaError_t status);
    cublasHandle_t blas_handle();
    float *cuda_make_array(float *x, size_t n);
    int *cuda_make_int_array(size_t n);
    void cuda_push_array(float *x_gpu, float *x, size_t n);
    void cuda_pull_array(float *x_gpu, float *x, size_t n);
    YOLODLL_API void cuda_set_device(int n);
    int cuda_get_device();
    void cuda_free(float *x_gpu);
    void cuda_random(float *x_gpu, size_t n);
    float cuda_compare(float *x_gpu, float *x, size_t n, char *s);
    dim3 cuda_gridsize(size_t n);
    cudaStream_t get_cuda_stream();
#ifdef __cplusplus
}
#endif // __cplusplus
 
#ifdef CUDNN
cudnnHandle_t cudnn_handle();
enum {cudnn_fastest, cudnn_smallest};
#endif
 
#else // GPU
YOLODLL_API void cuda_set_device(int n);
#endif // GPU
#endif // CUDA_H