29 lines
1.2 KiB
C
29 lines
1.2 KiB
C
#ifndef _CNN_H_
|
|
#define _CNN_H_
|
|
|
|
#include <math.h>
|
|
#include "my.h"
|
|
|
|
extern u8 isrun;
|
|
|
|
void PrintfArray(float *array, int array_num, int elements_per_line);
|
|
void **allocate2DArray(int depth, int num, size_t elementSize);
|
|
void free2DArray(float **array, int depth);
|
|
void Full(float *inputArray, int input_size, float *outputArray);
|
|
void Pooling(float *inputArray, int input_size, int kernel_size, unsigned int step, float *outputArray);
|
|
void Convolution(float *inputArray, int input_size, float *kernel, int kernel_size, float *outputArray);
|
|
void Combine(float **inputArray, int input_depth, int input_size, float *outputArray);
|
|
void Flatten2D(float **inputArray, int input_depth, int input_size, float *outputArray);
|
|
float ConnectedLayer(float *inputArray, int input_num, float *input_w, float input_b);
|
|
void ReLU1(float *inputArray, int num, float *outputArray);
|
|
float ReLU2(float data);
|
|
void AddBias(float *inputArray, int input_num, float bias, float *outputArray);
|
|
|
|
int calculate_probabilities(float *input_array, float *output_array, int input_num);
|
|
void generateMatrix(float *get_data, float Max_value, int totalPoints, float CNN_data[100][100]);
|
|
|
|
void _cnn_run(void);
|
|
void cnn_run(void);
|
|
|
|
#endif
|