2022-07-05 08:13:25 +02:00
|
|
|
#include "struct.h"
|
|
|
|
|
|
|
|
#ifndef DEF_MAKE_H
|
|
|
|
#define DEF_MAKE_H
|
|
|
|
|
|
|
|
/*
|
2022-11-01 17:24:29 +01:00
|
|
|
* Effectue une convolution sans stride sur le processeur
|
2022-07-05 08:13:25 +02:00
|
|
|
*/
|
2022-11-01 17:24:29 +01:00
|
|
|
void make_convolution_cpu(Kernel_cnn* kernel, float*** input, float*** output, int output_dim);
|
2022-07-05 08:13:25 +02:00
|
|
|
|
|
|
|
/*
|
2022-11-01 17:24:29 +01:00
|
|
|
* Effectue la convolution sur le CPU ou GPU
|
|
|
|
*/
|
|
|
|
void make_convolution(Kernel_cnn* kernel, float*** input, float*** output, int output_dim);
|
2023-01-30 09:39:45 +01:00
|
|
|
|
2022-11-01 17:24:29 +01:00
|
|
|
/*
|
|
|
|
* Effectue un average pooling avec stride=size
|
2022-07-05 08:13:25 +02:00
|
|
|
*/
|
2023-02-15 11:42:24 +01:00
|
|
|
#ifdef __CUDACC__
|
|
|
|
extern "C"
|
|
|
|
#endif
|
2022-07-05 08:13:25 +02:00
|
|
|
void make_average_pooling(float*** input, float*** output, int size, int output_depth, int output_dim);
|
|
|
|
|
2023-01-30 09:39:45 +01:00
|
|
|
/*
|
|
|
|
* Effectue un max pooling avec stride=size
|
|
|
|
*/
|
2023-02-15 11:42:24 +01:00
|
|
|
#ifdef __CUDACC__
|
|
|
|
extern "C"
|
|
|
|
#endif
|
2023-01-30 09:39:45 +01:00
|
|
|
void make_max_pooling(float*** input, float*** output, int size, int output_depth, int output_dim);
|
|
|
|
|
2022-07-05 08:13:25 +02:00
|
|
|
/*
|
2022-11-01 17:24:29 +01:00
|
|
|
* Effectue une full connection
|
2022-07-05 08:13:25 +02:00
|
|
|
*/
|
2023-02-15 11:42:24 +01:00
|
|
|
#ifdef __CUDACC__
|
|
|
|
extern "C"
|
|
|
|
#endif
|
2022-10-02 20:31:20 +02:00
|
|
|
void make_dense(Kernel_nn* kernel, float* input, float* output, int size_input, int size_output);
|
|
|
|
|
|
|
|
/*
|
2022-11-01 17:24:29 +01:00
|
|
|
* Effectue une full connection qui passe d'une matrice à un vecteur
|
2022-10-02 20:31:20 +02:00
|
|
|
*/
|
2023-02-15 11:42:24 +01:00
|
|
|
#ifdef __CUDACC__
|
|
|
|
extern "C"
|
|
|
|
#endif
|
2022-10-02 20:31:20 +02:00
|
|
|
void make_dense_linearised(Kernel_nn* kernel, float*** input, float* output, int depth_input, int dim_input, int size_output);
|
2022-07-05 08:13:25 +02:00
|
|
|
|
|
|
|
#endif
|