#pragma once
#include "cpu/vision.h"
#ifdef WITH_CUDA
#include "cuda/vision.h"
#endif
// Interface for Python
at::Tensor GOF_forward(const at::Tensor& weight,
const at::Tensor& gaborFilterBank) {
if (weight.type().is_cuda()) {
#ifdef WITH_CUDA
return GOF_forward_cuda(weight, gaborFilterBank);
#else
AT_ERROR("Not compiled with GPU support");
#endif
}
return GOF_forward_cpu(weight, gaborFilterBank);
}
at::Tensor GOF_backward(const at::Tensor& grad_output,
const at::Tensor& gaborFilterBank) {
if (grad_output.type().is_cuda()) {
#ifdef WITH_CUDA
return GOF_backward_cuda(grad_output, gaborFilterBank);
#else
AT_ERROR("Not compiled with GPU support");
#endif
}
return GOF_backward_cpu(grad_output, gaborFilterBank);
}