diff --git a/python_binding/operator/pybind_AvgPooling.cpp b/python_binding/operator/pybind_AvgPooling.cpp
index ecbb743d33cc5750bc60aeed8e5207dcec0c23dc..350a94a16cf07bf75e35d4bc2f9a4d93b7437264 100644
--- a/python_binding/operator/pybind_AvgPooling.cpp
+++ b/python_binding/operator/pybind_AvgPooling.cpp
@@ -31,16 +31,13 @@ template <DimIdx_t DIM> void declare_AvgPoolingOp(py::module &m) {
     m, ("AvgPoolingOp" + std::to_string(DIM) + "D").c_str(),
     py::multiple_inheritance())
   .def(py::init<const std::array<DimSize_t, DIM> &,
-                const std::array<DimSize_t, DIM> &,
-                const std::array<DimSize_t, (DIM<<1)> &>(),
+                const std::array<DimSize_t, DIM> &>(),
         py::arg("kernel_dims"),
-        py::arg("stride_dims"),
-        py::arg("padding_dims"));
+        py::arg("stride_dims"));
   
   m.def(("AvgPooling" + std::to_string(DIM) + "D").c_str(), [](const std::vector<DimSize_t>& kernel_dims, 
                                                                   const std::string& name,
-                                                                  const std::vector<DimSize_t> &stride_dims,
-                                                                  const std::vector<DimSize_t> &padding_dims) {
+                                                                  const std::vector<DimSize_t> &stride_dims) {
         // Lambda function wrapper because PyBind fails to convert const array.
         // So we use a vector that we convert in this function to a const DimeSize_t [DIM] array. 
         if (kernel_dims.size() != DIM) {
@@ -49,9 +46,6 @@ template <DimIdx_t DIM> void declare_AvgPoolingOp(py::module &m) {
         if (stride_dims.size() != DIM) {
             throw std::runtime_error("stride_dims size [" + std::to_string(stride_dims.size()) + "] does not match DIM [" + std::to_string(DIM) +"]");
         }
-        if (padding_dims.size() != (DIM<<1)) {
-            throw std::runtime_error("padding_dims size [" + std::to_string(padding_dims.size()) + "] does not match DIM [" + std::to_string(DIM<<1) +"]");
-        }
         DimSize_t tmp_kernel_dims_array[DIM];
         for (size_t i = 0; i < DIM; ++i) {
             tmp_kernel_dims_array[i] = kernel_dims[i];
@@ -60,18 +54,12 @@ template <DimIdx_t DIM> void declare_AvgPoolingOp(py::module &m) {
         for (size_t i = 0; i < DIM; ++i) {
             tmp_stride_dims_array[i] = stride_dims[i];
         }
-        DimSize_t tmp_padding_dims_array[DIM<<1];
-        for (size_t i = 0; i < (DIM<<1); ++i) {
-            tmp_padding_dims_array[i] = padding_dims[i];
-        }
         const DimSize_t (&kernel_dims_array)[DIM] = tmp_kernel_dims_array;
         const DimSize_t (&stride_dims_array)[DIM] = tmp_stride_dims_array;
-        const DimSize_t (&padding_dims_array)[DIM<<1] = tmp_padding_dims_array;
-        return AvgPooling<DIM>(to_array(kernel_dims_array), name, to_array(stride_dims_array), to_array(padding_dims_array));
+        return AvgPooling<DIM>(to_array(kernel_dims_array), name, to_array(stride_dims_array));
     }, py::arg("kernel_dims"),
        py::arg("name") = "",
-       py::arg("stride_dims") = std::vector<DimSize_t>(DIM,1),
-       py::arg("padding_dims") = std::vector<DimSize_t>(DIM<<1,0));
+       py::arg("stride_dims") = std::vector<DimSize_t>(DIM,1));
   
 }
 
diff --git a/python_binding/operator/pybind_Conv.cpp b/python_binding/operator/pybind_Conv.cpp
index 7e366305f287e958ea7500695c1f3285908017b1..4764884e8101091470e6f5259a3b3cc85db26992 100644
--- a/python_binding/operator/pybind_Conv.cpp
+++ b/python_binding/operator/pybind_Conv.cpp
@@ -33,13 +33,11 @@ template <DimIdx_t DIM> void declare_ConvOp(py::module &m) {
                 DimSize_t,
                 const std::array<DimSize_t, DIM> &,
                 const std::array<DimSize_t, DIM> &,
-                const std::array<DimSize_t, (DIM<<1)> &,
                 const std::array<DimSize_t, DIM> &>(),
         py::arg("in_channels"),
         py::arg("out_channels"),
         py::arg("kernel_dims"),
         py::arg("stride_dims"),
-        py::arg("padding_dims"),
         py::arg("dilation_dims"));
   
   m.def(("Conv" + std::to_string(DIM) + "D").c_str(), [](DimSize_t in_channels,
@@ -47,7 +45,6 @@ template <DimIdx_t DIM> void declare_ConvOp(py::module &m) {
                                                          const std::vector<DimSize_t>& kernel_dims,
                                                          const std::string& name, 
                                                          const std::vector<DimSize_t> &stride_dims,
-                                                         const std::vector<DimSize_t> &padding_dims,
                                                          const std::vector<DimSize_t> &dilation_dims) {
         // Lambda function wrapper because PyBind fails to convert const array.
         // So we use a vector that we convert in this function to a const DimeSize_t [DIM] array. 
@@ -57,9 +54,6 @@ template <DimIdx_t DIM> void declare_ConvOp(py::module &m) {
         if (stride_dims.size() != DIM) {
             throw std::runtime_error("stride_dims size [" + std::to_string(stride_dims.size()) + "] does not match DIM [" + std::to_string(DIM) +"]");
         }
-        if (padding_dims.size() != (DIM<<1)) {
-            throw std::runtime_error("padding_dims size [" + std::to_string(padding_dims.size()) + "] does not match DIM [" + std::to_string(DIM<<1) +"]");
-        }
         if (dilation_dims.size() != DIM) {
             throw std::runtime_error("dilation_dims size [" + std::to_string(dilation_dims.size()) + "] does not match DIM [" + std::to_string(DIM) +"]");
         }
@@ -71,25 +65,19 @@ template <DimIdx_t DIM> void declare_ConvOp(py::module &m) {
         for (size_t i = 0; i < DIM; ++i) {
             tmp_stride_dims_array[i] = stride_dims[i];
         }
-        DimSize_t tmp_padding_dims_array[DIM<<1];
-        for (size_t i = 0; i < (DIM<<1); ++i) {
-            tmp_padding_dims_array[i] = padding_dims[i];
-        }
         DimSize_t tmp_dilation_dims_array[DIM];
         for (size_t i = 0; i < DIM; ++i) {
             tmp_dilation_dims_array[i] = dilation_dims[i];
         }
         const DimSize_t (&kernel_dims_array)[DIM] = tmp_kernel_dims_array;
         const DimSize_t (&stride_dims_array)[DIM] = tmp_stride_dims_array;
-        const DimSize_t (&padding_dims_array)[DIM<<1] = tmp_padding_dims_array;
         const DimSize_t (&dilation_dims_array)[DIM] = tmp_dilation_dims_array;
-        return Conv<DIM>(in_channels, out_channels, to_array(kernel_dims_array), name, to_array(stride_dims_array), to_array(padding_dims_array), to_array(dilation_dims_array));
+        return Conv<DIM>(in_channels, out_channels, to_array(kernel_dims_array), name, to_array(stride_dims_array), to_array(dilation_dims_array));
     }, py::arg("in_channels"),
        py::arg("out_channels"),
        py::arg("kernel_dims"),
        py::arg("name") = "",
        py::arg("stride_dims") = std::vector<DimSize_t>(DIM,1),
-       py::arg("padding_dims") = std::vector<DimSize_t>(DIM<<1,0),
        py::arg("dilation_dims") = std::vector<DimSize_t>(DIM,1));
   
 }
diff --git a/python_binding/operator/pybind_ConvDepthWise.cpp b/python_binding/operator/pybind_ConvDepthWise.cpp
index 8a81e7ba184536cbd535db24519495400bce6fdb..639fcd01e5021093d8ef72960c6a1b920a9e1578 100644
--- a/python_binding/operator/pybind_ConvDepthWise.cpp
+++ b/python_binding/operator/pybind_ConvDepthWise.cpp
@@ -32,17 +32,14 @@ template <DimIdx_t DIM> void declare_ConvDepthWiseOp(py::module &m) {
     py::multiple_inheritance())
   .def(py::init<const std::array<DimSize_t, DIM> &,
                 const std::array<DimSize_t, DIM> &,
-                const std::array<DimSize_t, (DIM<<1)> &,
                 const std::array<DimSize_t, DIM> &>(),
         py::arg("kernel_dims"),
         py::arg("stride_dims"),
-        py::arg("padding_dims"),
         py::arg("dilation_dims"));
   
   m.def(("ConvDepthWise" + std::to_string(DIM) + "D").c_str(), [](const std::vector<DimSize_t>& kernel_dims, 
                                                                   const std::string& name,
                                                                   const std::vector<DimSize_t> &stride_dims,
-                                                                  const std::vector<DimSize_t> &padding_dims,
                                                                   const std::vector<DimSize_t> &dilation_dims) {
         // Lambda function wrapper because PyBind fails to convert const array.
         // So we use a vector that we convert in this function to a const DimeSize_t [DIM] array. 
@@ -52,9 +49,6 @@ template <DimIdx_t DIM> void declare_ConvDepthWiseOp(py::module &m) {
         if (stride_dims.size() != DIM) {
             throw std::runtime_error("stride_dims size [" + std::to_string(stride_dims.size()) + "] does not match DIM [" + std::to_string(DIM) +"]");
         }
-        if (padding_dims.size() != (DIM<<1)) {
-            throw std::runtime_error("padding_dims size [" + std::to_string(padding_dims.size()) + "] does not match DIM [" + std::to_string(DIM<<1) +"]");
-        }
         if (dilation_dims.size() != DIM) {
             throw std::runtime_error("dilation_dims size [" + std::to_string(dilation_dims.size()) + "] does not match DIM [" + std::to_string(DIM) +"]");
         }
@@ -66,23 +60,17 @@ template <DimIdx_t DIM> void declare_ConvDepthWiseOp(py::module &m) {
         for (size_t i = 0; i < DIM; ++i) {
             tmp_stride_dims_array[i] = stride_dims[i];
         }
-        DimSize_t tmp_padding_dims_array[DIM<<1];
-        for (size_t i = 0; i < (DIM<<1); ++i) {
-            tmp_padding_dims_array[i] = padding_dims[i];
-        }
         DimSize_t tmp_dilation_dims_array[DIM];
         for (size_t i = 0; i < DIM; ++i) {
             tmp_dilation_dims_array[i] = dilation_dims[i];
         }
         const DimSize_t (&kernel_dims_array)[DIM] = tmp_kernel_dims_array;
         const DimSize_t (&stride_dims_array)[DIM] = tmp_stride_dims_array;
-        const DimSize_t (&padding_dims_array)[DIM<<1] = tmp_padding_dims_array;
         const DimSize_t (&dilation_dims_array)[DIM] = tmp_dilation_dims_array;
-        return ConvDepthWise<DIM>(to_array(kernel_dims_array), name, to_array(stride_dims_array), to_array(padding_dims_array), to_array(dilation_dims_array));
+        return ConvDepthWise<DIM>(to_array(kernel_dims_array), name, to_array(stride_dims_array), to_array(dilation_dims_array));
     }, py::arg("kernel_dims"),
        py::arg("name") = "",
        py::arg("stride_dims") = std::vector<DimSize_t>(DIM,1),
-       py::arg("padding_dims") = std::vector<DimSize_t>(DIM<<1,0),
        py::arg("dilation_dims") = std::vector<DimSize_t>(DIM,1));
   
 }