You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by jx...@apache.org on 2018/01/22 20:43:48 UTC
[incubator-mxnet] 17/20: fix (#8857)
This is an automated email from the ASF dual-hosted git repository.
jxie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
commit f74f6e7c6a91b4d0ad6bd4377e16480f943ff54e
Author: Eric Junyuan Xie <pi...@users.noreply.github.com>
AuthorDate: Tue Nov 28 17:28:58 2017 -0800
fix (#8857)
use macro for registration
---
src/operator/image/image_random-inl.h | 22 +++++++
src/operator/image/image_random.cc | 111 ++++------------------------------
2 files changed, 34 insertions(+), 99 deletions(-)
diff --git a/src/operator/image/image_random-inl.h b/src/operator/image/image_random-inl.h
index 9d10a30..cbc7f40 100644
--- a/src/operator/image/image_random-inl.h
+++ b/src/operator/image/image_random-inl.h
@@ -658,6 +658,28 @@ void RandomLighting(const nnvm::NodeAttrs &attrs,
AdjustLightingImpl({alpha_r, alpha_g, alpha_b}, ctx, inputs, req, outputs);
}
+
+#define MXNET_REGISTER_IMAGE_AUG_OP(name) \
+ NNVM_REGISTER_OP(name) \
+ .set_num_inputs(1) \
+ .set_num_outputs(1) \
+ .set_attr<nnvm::FInplaceOption>("FInplaceOption", \
+ [](const NodeAttrs& attrs){ \
+ return std::vector<std::pair<int, int> >{{0, 0}}; \
+ }) \
+ .set_attr<nnvm::FInferShape>("FInferShape", ImageShape) \
+ .set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>) \
+ .set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" }) \
+ .add_argument("data", "NDArray-or-Symbol", "The input.")
+
+
+#define MXNET_REGISTER_IMAGE_RND_AUG_OP(name) \
+ MXNET_REGISTER_IMAGE_AUG_OP(name) \
+ .set_attr<FResourceRequest>("FResourceRequest", \
+ [](const NodeAttrs& attrs) { \
+ return std::vector<ResourceRequest>{ResourceRequest::kRandom}; \
+ })
+
} // namespace image
} // namespace op
} // namespace mxnet
diff --git a/src/operator/image/image_random.cc b/src/operator/image/image_random.cc
index 5a21bf8..481dfce 100644
--- a/src/operator/image/image_random.cc
+++ b/src/operator/image/image_random.cc
@@ -66,144 +66,57 @@ NNVM_REGISTER_OP(_image_normalize)
.add_arguments(NormalizeParam::__FIELDS__());
-NNVM_REGISTER_OP(_image_random_horizontal_flip)
+MXNET_REGISTER_IMAGE_RND_AUG_OP(_image_random_horizontal_flip)
.describe(R"code()code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
-.set_attr<nnvm::FInplaceOption>("FInplaceOption",
- [](const NodeAttrs& attrs){
- return std::vector<std::pair<int, int> >{{0, 0}};
- })
-.set_attr<FCompute>("FCompute<cpu>", RandomHorizontalFlip)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.");
+.set_attr<FCompute>("FCompute<cpu>", RandomHorizontalFlip);
-NNVM_REGISTER_OP(_image_random_brightness)
+MXNET_REGISTER_IMAGE_RND_AUG_OP(_image_random_brightness)
.describe(R"code()code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
.set_attr_parser(ParamParser<RandomEnhanceParam>)
-.set_attr<FResourceRequest>("FResourceRequest", [](const NodeAttrs& attrs) {
- return std::vector<ResourceRequest>{ResourceRequest::kRandom};
-})
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
-.set_attr<nnvm::FInplaceOption>("FInplaceOption",
- [](const NodeAttrs& attrs){
- return std::vector<std::pair<int, int> >{{0, 0}};
- })
.set_attr<FCompute>("FCompute<cpu>", RandomBrightness)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.")
.add_arguments(RandomEnhanceParam::__FIELDS__());
-NNVM_REGISTER_OP(_image_random_contrast)
+MXNET_REGISTER_IMAGE_RND_AUG_OP(_image_random_contrast)
.describe(R"code()code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
.set_attr_parser(ParamParser<RandomEnhanceParam>)
-.set_attr<FResourceRequest>("FResourceRequest", [](const NodeAttrs& attrs) {
- return std::vector<ResourceRequest>{ResourceRequest::kRandom};
-})
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
-.set_attr<nnvm::FInplaceOption>("FInplaceOption",
- [](const NodeAttrs& attrs){
- return std::vector<std::pair<int, int> >{{0, 0}};
- })
.set_attr<FCompute>("FCompute<cpu>", RandomContrast)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.")
.add_arguments(RandomEnhanceParam::__FIELDS__());
-NNVM_REGISTER_OP(_image_random_saturation)
+MXNET_REGISTER_IMAGE_RND_AUG_OP(_image_random_saturation)
.describe(R"code()code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
.set_attr_parser(ParamParser<RandomEnhanceParam>)
-.set_attr<FResourceRequest>("FResourceRequest", [](const NodeAttrs& attrs) {
- return std::vector<ResourceRequest>{ResourceRequest::kRandom};
-})
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
-.set_attr<nnvm::FInplaceOption>("FInplaceOption",
- [](const NodeAttrs& attrs){
- return std::vector<std::pair<int, int> >{{0, 0}};
- })
.set_attr<FCompute>("FCompute<cpu>", RandomSaturation)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.")
.add_arguments(RandomEnhanceParam::__FIELDS__());
-NNVM_REGISTER_OP(_image_random_hue)
+
+MXNET_REGISTER_IMAGE_RND_AUG_OP(_image_random_hue)
.describe(R"code()code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
.set_attr_parser(ParamParser<RandomEnhanceParam>)
-.set_attr<FResourceRequest>("FResourceRequest", [](const NodeAttrs& attrs) {
- return std::vector<ResourceRequest>{ResourceRequest::kRandom};
-})
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
.set_attr<FCompute>("FCompute<cpu>", RandomHue)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.")
.add_arguments(RandomEnhanceParam::__FIELDS__());
-NNVM_REGISTER_OP(_image_random_color_jitter)
+
+MXNET_REGISTER_IMAGE_RND_AUG_OP(_image_random_color_jitter)
.describe(R"code()code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
.set_attr_parser(ParamParser<RandomColorJitterParam>)
-.set_attr<FResourceRequest>("FResourceRequest", [](const NodeAttrs& attrs) {
- return std::vector<ResourceRequest>{ResourceRequest::kRandom};
-})
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
.set_attr<FCompute>("FCompute<cpu>", RandomColorJitter)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.")
.add_arguments(RandomColorJitterParam::__FIELDS__());
-NNVM_REGISTER_OP(_image_adjust_lighting)
+
+MXNET_REGISTER_IMAGE_AUG_OP(_image_adjust_lighting)
.describe(R"code(Adjust the lighting level of the input. Follow the AlexNet style.)code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
.set_attr_parser(ParamParser<AdjustLightingParam>)
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
-.set_attr<nnvm::FInplaceOption>("FInplaceOption",
- [](const NodeAttrs& attrs){
- return std::vector<std::pair<int, int> >{{0, 0}};
- })
.set_attr<FCompute>("FCompute<cpu>", AdjustLighting)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.")
.add_arguments(AdjustLightingParam::__FIELDS__());
-NNVM_REGISTER_OP(_image_random_lighting)
+MXNET_REGISTER_IMAGE_RND_AUG_OP(_image_random_lighting)
.describe(R"code(Randomly add PCA noise. Follow the AlexNet style.)code" ADD_FILELINE)
-.set_num_inputs(1)
-.set_num_outputs(1)
.set_attr_parser(ParamParser<RandomLightingParam>)
-.set_attr<FResourceRequest>("FResourceRequest", [](const NodeAttrs& attrs) {
- return std::vector<ResourceRequest>{ResourceRequest::kRandom};
-})
-.set_attr<nnvm::FInferShape>("FInferShape", ImageShape)
-.set_attr<nnvm::FInferType>("FInferType", ElemwiseType<1, 1>)
-.set_attr<nnvm::FInplaceOption>("FInplaceOption",
- [](const NodeAttrs& attrs){
- return std::vector<std::pair<int, int> >{{0, 0}};
- })
.set_attr<FCompute>("FCompute<cpu>", RandomLighting)
-.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseNone{ "_copy" })
-.add_argument("data", "NDArray-or-Symbol", "The input.")
.add_arguments(RandomLightingParam::__FIELDS__());
} // namespace image
--
To stop receiving notification emails like this one, please contact
jxie@apache.org.