blob: 51e67721032c492ea770e39eb6e87eeb76a133d0 [file] [log] [blame]
/*!
* Copyright (c) 2015 by Contributors
* \file identity_attach_KL_sparse_reg.cc
* \brief\
*/
#include "./identity_attach_KL_sparse_reg-inl.h"
#include <nnvm/op_attr_types.h>
namespace mxnet {
namespace op {
template<>
Operator *CreateOp<cpu>(IdentityAttachKLSparseRegParam param) {
return new IdentityAttachKLSparseRegOp<cpu>(param);
}
Operator *IdentityAttachKLSparseRegProp::CreateOperator(Context ctx) const {
DO_BIND_DISPATCH(CreateOp, param_);
}
DMLC_REGISTER_PARAMETER(IdentityAttachKLSparseRegParam);
MXNET_REGISTER_OP_PROPERTY(IdentityAttachKLSparseReg, IdentityAttachKLSparseRegProp)
.describe("Apply a sparse regularization to the output a sigmoid activation function.")
.add_argument("data", "NDArray-or-Symbol", "Input data.")
.add_arguments(IdentityAttachKLSparseRegParam::__FIELDS__());
NNVM_REGISTER_OP(IdentityAttachKLSparseReg)
.set_attr<nnvm::FSetInputVarAttrOnCompose>("FSetInputVarAttrOnCompose",
[](const nnvm::NodeAttrs& attrs, nnvm::NodePtr var, const int index) {
if (var->attrs.dict.find("__init__") != var->attrs.dict.end()) return;
if (index == 1) {
var->attrs.dict["__init__"] = "[\"zero\", {}]";
}
});
} // namespace op
} // namespace mxnet