diff options
Diffstat (limited to 'tensorflow/core/kernels/pooling_ops_3d.h')
-rw-r--r-- | tensorflow/core/kernels/pooling_ops_3d.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tensorflow/core/kernels/pooling_ops_3d.h b/tensorflow/core/kernels/pooling_ops_3d.h new file mode 100644 index 0000000000..7954e2cf83 --- /dev/null +++ b/tensorflow/core/kernels/pooling_ops_3d.h @@ -0,0 +1,66 @@ +/* Copyright 2015 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ + +#ifndef TENSORFLOW_KERNELS_POOLING_OPS_3D_H_ +#define TENSORFLOW_KERNELS_POOLING_OPS_3D_H_ + +#include "tensorflow/core/framework/op_kernel.h" +#include "tensorflow/core/util/padding.h" +#include "tensorflow/core/util/tensor_format.h" + +namespace tensorflow { + +// A helper class to manage sizes and shapes for 3d pooling operations. +struct Pool3dParameters { + // Updates context->status if there is an invalid input. + Pool3dParameters(OpKernelContext* context, const std::vector<int32>& ksize, + const std::vector<int32>& stride, Padding padding, + TensorFormat data_format, + const TensorShape& tensor_in_shape); + + // Returns the shape of the output for "forward" pooling operations. + TensorShape forward_output_shape(); + + int depth; + + int tensor_in_planes; + int tensor_in_cols; + int tensor_in_rows; + int tensor_in_batch; + + int window_planes; + int window_cols; + int window_rows; + int depth_window; + + int plane_stride; + int col_stride; + int row_stride; + int depth_stride; + + int64 out_plane; + int64 out_height; + int64 out_width; + + int64 pad_planes; + int64 pad_cols; + int64 pad_rows; + + TensorFormat data_format; +}; + +} // namespace tensorflow + +#endif // TENSORFLOW_KERNELS_POOLING_OPS_3D_H_ |