Files
stm32-cnn/MY/cnn.h
2024-11-01 22:41:26 +08:00

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