Files
CUDANet/include/layers/concat.cuh
2024-05-19 20:21:13 +02:00

48 lines
929 B
Plaintext

#ifndef CUDANET_CONCAT_LAYER_H
#define CUDANET_CONCAT_LAYER_H
namespace CUDANet::Layers {
/**
* @brief Concatenate layers
*
*/
class Concat {
public:
/**
* @brief Create a new Concat layer
*
* @param inputASize Size of the first input
* @param inputBSize Size of the second input
*/
Concat(const int inputASize, const int inputBSize);
/**
* @brief Destroy the Concat layer
*
*/
~Concat();
/**
* @brief Concatenates the two inputs
*
* @param d_input_A Device pointer to the first input
* @param d_input_B Device pointer to the second input
*
* @return Device pointer to the output
*/
float* forward(const float* d_input_A, const float* d_input_B);
int getOutputSize();
private:
int inputASize;
int inputBSize;
float* d_output;
};
} // namespace CUDANet::Layers
#endif // CUDANET_CONCAT_LAYER_H