lamppp
Loading...
Searching...
No Matches
conv_ops.hpp
1#pragma once
2
3#include "lamppp/autograd/forward_function.hpp"
4#include "lamppp/autograd/function.hpp"
5
6namespace lmp::autograd::ops {
7
8// /// @internal
9// struct ConvolutionBackward : public Function { // TODO(nx2372): need to change this to "cross correlation"
10// size_t stride_, padding_, dilation_;
11// explicit ConvolutionBackward(size_t stride, size_t padding, size_t dilation)
12// : stride_(stride), padding_(padding), dilation_(dilation) {}
13// variable_list apply(const variable_list& gradOutputs) override;
14// };
15
16// struct Convolution : public ForwardFunction<Convolution> {
17// using DefaultBackward = ConvolutionBackward;
18// size_t stride_, padding_, dilation_;
19// explicit Convolution(size_t stride, size_t padding, size_t dilation)
20// : stride_(stride), padding_(padding), dilation_(dilation) {}
21// tensor::Tensor execute(const variable_list& inputs);
22// };
23// /// @endinternal
24
25// inline Variable conv(const Variable& input, const Variable& kernel,
26// size_t stride, size_t padding, size_t dilation) {
27// return VariableOpFact::apply<Convolution>({input, kernel}, stride, padding,
28// dilation)[0];
29// }
30
31} // namespace lmp::autograd::ops