| @@ -70,9 +70,10 @@ LOCAL_SHARED_LIBRARIES := \ | |||
| libregister \ | |||
| libge_compiler \ | |||
| libge_common \ | |||
| libmsprof | |||
| libmsprof \ | |||
| stub/libascend_hal | |||
| LOCAL_STATIC_LIBRARIES := libmsprofiler | |||
| LOCAL_LDFLAGS := -lrt -ldl | |||
| @@ -107,6 +108,7 @@ LOCAL_SHARED_LIBRARIES := \ | |||
| libge_common \ | |||
| libmsprof | |||
| LOCAL_STATIC_LIBRARIES := libmsprofiler | |||
| LOCAL_LDFLAGS := -lrt -ldl | |||
| LOCAL_CFLAGS += \ | |||
| @@ -58,8 +58,6 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY ge::Status ProfilingManager::In | |||
| GELOGI("ProfilingManager::Init job_id:%s", job_id_.c_str()); | |||
| Status ret; | |||
| if (!recv_profiling_config_.empty()) { | |||
| GELOGI("Profiling json config from acl:%s", recv_profiling_config_.c_str()); | |||
| @@ -92,6 +92,7 @@ local_ge_executor_shared_library := \ | |||
| libregister \ | |||
| libmsprof \ | |||
| liberror_manager \ | |||
| libascend_hal | |||
| local_ge_executor_ldflags := -lrt -ldl \ | |||
| @@ -907,7 +907,6 @@ Status GraphMemoryAssigner::ReAssignAtomicMemory(bool is_loop_graph) { | |||
| int64_t atomic_mem_start = static_cast<int64_t>(mem_iter->second.mem_offset_); | |||
| GELOGD("Begin to reAssign atomic memory, atomic address memory start = %ld", atomic_mem_start); | |||
| for (auto &atomic_node : iter.second) { | |||
| vector<int64_t> mem_offset_end; | |||
| status = AssignAtomicOutputAndWorkspaceMemory(atomic_node, mem_offset_end); | |||
| if (status != SUCCESS) { | |||
| @@ -137,6 +137,9 @@ class GraphMemoryAssigner { | |||
| ge::Status ReAssignAtomicMemory(bool is_loop_graph); | |||
| ge::Status FilterAtomicNodesForMemoryAssign(std::map<NodePtr, vector<NodePtr>> &normal_atomic_nodes_map, | |||
| std::vector<NodePtr> &connecting_output_atomic_nodes); | |||
| ge::Status FilterAtomicNodesForMemoryAssign(std::map<NodePtr, vector<NodePtr>> &normal_atomic_nodes_map, | |||
| std::vector<NodePtr> &connecting_output_atomic_nodes); | |||
| @@ -728,11 +728,7 @@ Status DataDumper::BuildTaskInfo(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| } | |||
| if (dump_properties_.GetDumpMode() == kDumpInput) { | |||
| if (op_iter.is_task) { | |||
| Status ret = DumpInput(op_iter, task); | |||
| if (ret != SUCCESS) { | |||
| GELOGE(ret, "Dump input failed"); | |||
| return ret; | |||
| } | |||
| GE_CHK_STATUS_RET(DumpInput(op_iter, task), "Dump input failed"); | |||
| } | |||
| op_mapping_info.mutable_task()->Add(std::move(task)); | |||
| continue; | |||
| @@ -236,7 +236,6 @@ ModelManager::~ModelManager() { | |||
| std::lock_guard<std::mutex> lock(map_mutex_); | |||
| model_map_.clear(); | |||
| model_aicpu_kernel_.clear(); | |||
| cust_aicpu_so_.clear(); | |||
| GE_IF_BOOL_EXEC(device_count > 0, GE_CHK_RT(rtDeviceReset(0))); | |||
| } | |||
| @@ -400,6 +399,7 @@ Status ModelManager::Unload(uint32_t model_id) { | |||
| } | |||
| std::lock_guard<std::mutex> lock(exeception_infos_mutex_); | |||
| exception_infos_.clear(); | |||
| cust_aicpu_so_.clear(); | |||
| return SUCCESS; | |||
| } | |||
| @@ -40,7 +40,6 @@ | |||
| #include "inc/pass_manager.h" | |||
| #include "graph/common/local_context.h" | |||
| using std::map; | |||
| using std::set; | |||
| using std::string; | |||
| using std::vector; | |||
| @@ -264,24 +263,27 @@ Status MultiBatchGraphCopyer::Init() { | |||
| } | |||
| Status MultiBatchGraphCopyer::LabelStatus() { | |||
| map<string, vector<NodePtr>> frame_enters; | |||
| InitStatus(frame_enters); | |||
| for (const auto &data : origin_data_nodes_) { | |||
| auto data_shape = NodeUtils::GetOutputDesc(*data, kDataOutIndex).GetShape(); | |||
| if (!IsAllDimsPositive(data_shape.GetDims())) { | |||
| origin_nodes_status_[data.get()] = kNodeInBatchBranch; | |||
| } | |||
| } | |||
| bool changed = true; | |||
| // If anyone of in node is kNodeInBatchBranch, it is also kNodeInBatchBranch | |||
| while (changed) { | |||
| changed = false; | |||
| for (const auto &node : origin_all_nodes_) { | |||
| auto iter = origin_nodes_status_.find(node.get()); | |||
| if (iter != origin_nodes_status_.end()) { | |||
| continue; | |||
| } | |||
| for (auto &in_node : node->GetInAllNodes()) { | |||
| bool is_in_batch = origin_nodes_status_.find(in_node.get()) != origin_nodes_status_.end() && | |||
| origin_nodes_status_[in_node.get()] == kNodeInBatchBranch; | |||
| if (is_in_batch) { | |||
| if (origin_nodes_status_.find(node.get()) == origin_nodes_status_.end() || | |||
| origin_nodes_status_[node.get()] != kNodeInBatchBranch) { | |||
| origin_nodes_status_[node.get()] = kNodeInBatchBranch; | |||
| ResetEnterStatus(frame_enters, node); | |||
| changed = true; | |||
| } | |||
| origin_nodes_status_[node.get()] = kNodeInBatchBranch; | |||
| changed = true; | |||
| break; | |||
| } | |||
| } | |||
| @@ -69,8 +69,6 @@ class MultiBatchGraphCopyer { | |||
| // label status for origin_all_nodes_ | |||
| Status LabelStatus(); | |||
| void InitStatus(std::map<string, vector<NodePtr>> &frame_enters); | |||
| void ResetEnterStatus(std::map<string, vector<NodePtr>> &frame_enters, const NodePtr &node); | |||
| // add nodes functions | |||
| Status CreateNewNodes(); | |||
| @@ -61,8 +61,10 @@ class StringUtils { | |||
| /// @param [in] delim separator | |||
| /// @return string array after segmentation | |||
| /// | |||
| /*lint -e1077*/ | |||
| static std::vector<std::string> Split(const std::string &str, char delim) { | |||
| std::vector<std::string> elems; | |||
| /*lint +e1077*/ | |||
| if (str.empty()) { | |||
| elems.emplace_back(""); | |||
| @@ -25,16 +25,21 @@ | |||
| namespace ge { | |||
| /** | |||
| *@brief Performs AI pre-processing (AIPP) on images including color space conversion (CSC), | |||
| image normalization (by subtracting the mean value or multiplying a factor), image cropping | |||
| (by specifying the crop start and cropping the image to the size required by the neural network), and much more. \n | |||
| *@brief Performs AI pre-processing (AIPP) on images including color space | |||
| conversion (CSC), | |||
| image normalization (by subtracting the mean value or multiplying a factor), | |||
| image cropping | |||
| (by specifying the crop start and cropping the image to the size required by | |||
| the neural network), and much more. \n | |||
| *@par Inputs: | |||
| *@li images: An NCHW or NHWC tensor of type uint8, specifying the input to the data layer. | |||
| *@li images: An NCHW or NHWC tensor of type uint8, specifying the input to the | |||
| data layer. | |||
| *@li params: Dynamic AIPP configuration parameters of type uint8. \n | |||
| *@par Attributes: | |||
| *aipp_config_path: A required string, specifying the path of the AIPP configuration file. \n | |||
| *aipp_config_path: A required string, specifying the path of the AIPP | |||
| configuration file. \n | |||
| *@par Outputs: | |||
| *features: The AIPP-processed output tensor of type float16 or uint8. | |||
| @@ -28,9 +28,10 @@ namespace ge { | |||
| *@par Inputs: | |||
| *Dynamic inputs, including: | |||
| * @li x: A list of Tensor objects, each with same shape and type. The supported types are: | |||
| * @li x: A list of Tensor objects, each with same shape and type. The supported | |||
| types are: | |||
| * float16, float32, double, int32, uint8, int16, int8, complex64, int64, | |||
| * qint8, quint8, qint32, uint16, complex128, uint32, uint64. It's a dynamic input. \n | |||
| * qint8, quint8, qint32, uint16, complex128, uint32, uint64. \n | |||
| *@par Outputs: | |||
| *y: A Tensor. Has the same shape and type as the elements of "x". \n | |||
| @@ -121,7 +122,8 @@ REG_OP(MinimumGrad) | |||
| *@par Inputs: | |||
| *One input: | |||
| *x:A Tensor. Must be one of the following types: bool, float16, float, int8, int32, uint32, uint8, | |||
| *x:A Tensor. Must be one of the following types: bool, float16, float, int8, | |||
| int32, uint32, uint8, | |||
| int64, uint64, int16, uint16, double, complex64, complex128, qint8, quint8, qint16, quint16, qint32. \n | |||
| *@par Attributes: | |||
| @@ -385,7 +387,8 @@ REG_OP(Sign) | |||
| *@par Inputs: | |||
| *Two inputs, including: \n | |||
| *@li x1: A Tensor. Must be one of the following types: float16, float32, float64, int32, int64, complex64,complex128 | |||
| *@li x1: A Tensor. Must be one of the following types: float16, float32, | |||
| float64, int32, int64, complex64,complex128 | |||
| *@li x2: A Tensor. Has the same type as "x1". \n | |||
| *@par Outputs: | |||
| @@ -484,12 +487,16 @@ REG_OP(Equal) | |||
| *@par Inputs: | |||
| *One input:\n | |||
| *x: A Tensor. Must be one of the following types: float16, float32, double, complex64, complex128. \n | |||
| *x: A Tensor. Must be one of the following types: float16, float32, double, | |||
| complex64, complex128. \n | |||
| *@par Attributes: | |||
| *@li base: An optional attribute of type float32, specifying the base gamma. Defaults to "-1.0". | |||
| *@li scale: An optional attribute of type float32, specifying the scale alpha. Defaults to "1.0". | |||
| *@li shift: An optional attribute of type float32, specifying the shift beta. Defaults to "0.0". \n | |||
| *@li base: An optional attribute of type float32, specifying the base gamma. | |||
| Defaults to "-1.0". | |||
| *@li scale: An optional attribute of type float32, specifying the scale alpha. | |||
| Defaults to "1.0". | |||
| *@li shift: An optional attribute of type float32, specifying the shift beta. | |||
| Defaults to "0.0". \n | |||
| *@par Outputs: | |||
| *y: A Tensor of the same type as "x". \n | |||
| @@ -510,7 +517,8 @@ REG_OP(Exp) | |||
| *@par Inputs: | |||
| *One input: | |||
| *x: A Tensor. Must be one of the following types: float16, float32, double, complex64, complex128. \n | |||
| *x: A Tensor. Must be one of the following types: float16, float32, double, | |||
| complex64, complex128. \n | |||
| *@par Outputs: | |||
| *y: A Tensor of the same type as "x". \n | |||
| @@ -527,7 +535,9 @@ REG_OP(Expm1) | |||
| *@brief: Computes the reciprocal of "x". \n | |||
| *@par Inputs:\n | |||
| *x: A Tensor. Must be one of the following types: float16, float32, int32, int64, double, complex64, complex128. \n | |||
| *x: A Tensor. Must be one of the following types: float16, float32, | |||
| int32, int64, double, | |||
| complex64, complex128. \n | |||
| *@par Outputs: | |||
| *y: A Tensor. Has the same type as "x". \n | |||
| @@ -749,7 +759,8 @@ REG_OP(Xlogy) | |||
| *@par Inputs: | |||
| *One input: \n | |||
| *x: A Tensor. Must be one of the following types: float16, float32, float64, int32, int64, complex64, complex128 | |||
| *x: A Tensor. Must be one of the following types: float16, float32, float64, | |||
| int32, int64, complex64, complex128 | |||
| *@par Outputs: | |||
| *y: A Tensor. Has the same type as "x". \n | |||
| @@ -790,7 +801,8 @@ REG_OP(Rsqrt) | |||
| * | |||
| *@par Inputs: | |||
| * x: A tensor. Must be one of the following types: float16, float32, float64, int32, int64, complex64, complex128. | |||
| * x: A tensor. Must be one of the following types: float16, float32, float64, | |||
| int32, int64, complex64, complex128. | |||
| * | |||
| *@par Outputs: | |||
| * y: A tensor. Has the same type as "x". | |||
| @@ -811,7 +823,8 @@ REG_OP(Asin) | |||
| * | |||
| *@par Inputs: | |||
| *@li y: A tensor of type float16, float32, float64, int32, int64, complex64, complex128. | |||
| *@li y: A tensor of type float16, float32, float64, | |||
| int32, int64, complex64, complex128. | |||
| *@li dy: A tensor of the same type as "y". | |||
| * | |||
| *@attention Constraints: | |||
| @@ -838,7 +851,8 @@ REG_OP(AsinGrad) | |||
| * | |||
| *@par Inputs: | |||
| * x: A tensor. Must be one of the following types: float16, float32, float64, int32, int64, complex64, complex128. | |||
| * x: A tensor. Must be one of the following types: float16, float32, float64, | |||
| int32, int64, complex64, complex128. | |||
| * | |||
| *@par Outputs: | |||
| * y: A tensor. Has the same type as "x". | |||
| @@ -883,7 +897,8 @@ REG_OP(AcosGrad) | |||
| * | |||
| *@par Inputs: | |||
| * x: A tensor. Must be one of the following types: float16, float32, float64, complex64, complex128. | |||
| * x: A tensor. Must be one of the following types: float16, float32, float64, | |||
| complex64, complex128. | |||
| * | |||
| *@attention Constraints: | |||
| * x Given an input tensor, the function computes inverse hyperbolic cosine of every element.\n | |||
| @@ -1160,7 +1175,8 @@ REG_OP(FusedMulAdd) | |||
| * | |||
| *@par Inputs: | |||
| *@li x1: A tensor. Must be one of the following types: float16, float32, float64, uint8, int8, int16, int32, int64, complex64, complex128. | |||
| *@li x1: A tensor. Must be one of the following types: float16, float32, float64, | |||
| uint8, int8, int16, int32, int64, complex64, complex128. | |||
| *@li x2: A tensor of the same type as "x1". | |||
| * | |||
| *@attention Constraints: | |||
| @@ -1189,7 +1205,8 @@ REG_OP(AddV2) | |||
| *@brief Updates "ref" by adding "value" to it. \n | |||
| *@par Inputs: | |||
| *@li ref: A Tensor. Must be one of the following types: float16, float32, int8, int16, int32, int64, uint8, uint16, uint32, uint64. | |||
| *@li ref: A Tensor. Must be one of the following types: float16, float32, int8, | |||
| int16, int32, int64, uint8, uint16, uint32, uint64. | |||
| *@li value: A Tensor of the same type as "ref". \n | |||
| *@par Attributes: | |||
| @@ -1218,12 +1235,14 @@ REG_OP(AssignAdd) | |||
| *@brief Updates "ref" by assigning "value" to it. \n | |||
| *@par Inputs: | |||
| *@li ref: A Tensor. Must be one of the following types: float16, float32, int8, int16, int32, int64, uint8, uint16, uint32, uint64. | |||
| *@li ref: A Tensor. Must be one of the following types: float16, float32, int8, int16, | |||
| int32, int64, uint8, uint16, uint32, uint64. | |||
| *@li value: A Tensor of the same type as "ref". \n | |||
| *@par Attributes: | |||
| *@li validate_shape: An optional bool. Defaults to "true". | |||
| If "true", the operation will validate that the shape of "value" matches the shape of the Tensor being assigned to. | |||
| If "true", the operation will validate that the shape of "value" | |||
| matches the shape of the Tensor being assigned to. | |||
| * If "false", "ref" will take on the shape of "value". | |||
| * This attribute is reserved. | |||
| *@li use_locking: An optional bool. Defaults to True. | |||
| @@ -1252,7 +1271,8 @@ REG_OP(Assign) | |||
| * | |||
| *@par Inputs: | |||
| *@li var: A tensor. Must be one of the following types: float32, float64, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, uint16, complex128, uint32, uint64 | |||
| *@li var: A tensor. Must be one of the following types: float32, float64, | |||
| int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, uint16, complex128, uint32, uint64 | |||
| *@li value: A tensor of the same type as "var". | |||
| * | |||
| *@par Attributes: | |||
| @@ -1644,7 +1664,9 @@ REG_OP(Atan2) | |||
| * | |||
| *@par Inputs: | |||
| *@li x1: A tensor. Must be one of the following types: float32, float64, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, uint16, complex128, float16, uint32, uint64 | |||
| *@li x1: A tensor. Must be one of the following types: float32, float64, int32, | |||
| uint8, int16, int8, complex64, int64, qint8, quint8, qint32, uint16, complex128, | |||
| float16, uint32, uint64 | |||
| *@li x2: A tensor of the same type as "x1". | |||
| * | |||
| *@par Attributes: | |||
| @@ -1666,16 +1688,18 @@ REG_OP(ApproximateEqual) | |||
| /** | |||
| *@brief Returns the element-wise sum of a list of tensors.\n | |||
| * AccumulateNV2 performs the same operation as AddN, but does not wait for all of its inputs | |||
| to be ready before beginning to sum.\n This can save memory if inputs are ready at different times, | |||
| since minimum temporary storage is proportional to the output size rather than the inputs size. | |||
| Returns a Tensor of same shape and type as the elements of inputs. \n | |||
| * AccumulateNV2 performs the same operation as AddN, but does not wait for all | |||
| of its inputs to be ready before beginning to sum.\n This can save memory if | |||
| inputs are ready at different times, \n since minimum temporary storage is | |||
| proportional to the output size rather than the inputs size.\n Returns a Tensor | |||
| of same shape and type as the elements of inputs. \n | |||
| * | |||
| *@par Inputs: | |||
| *Dynamic inputs, including: | |||
| * x: A tensor. Must be one of the following types: float32, float64, int32, uint8, int16, int8, complex64, int64, | |||
| qint8, quint8, qint32, uint16, complex128, float16, uint32, uint64. It's a dynamic input. \n | |||
| * x: A tensor. Must be one of the following types: float32, float64, int32, | |||
| uint8, int16, int8, complex64, int64, \n qint8, quint8, qint32, uint16, | |||
| complex128, float16, uint32, uint64. | |||
| * | |||
| *@par Outputs: | |||
| * y: A tensor. Has the same type as "x". | |||
| @@ -1731,7 +1755,8 @@ REG_OP(FakeQuantWithMinMaxArgs) | |||
| *@par Inputs: | |||
| *Two inputs, including: \n | |||
| *@li gradients: A Tensor of type float32. Backpropagated gradients above the FakeQuantWithMinMaxArgs operation. | |||
| *@li gradients: A Tensor of type float32. Backpropagated gradients | |||
| above the FakeQuantWithMinMaxArgs operation. | |||
| *@li x: A Tensor of type float32. Has the same type and format as "gradients".\n | |||
| * This is the input Tensor of the FakeQuantWithMinMaxArgs operator.\n | |||
| @@ -2210,9 +2235,13 @@ REG_OP(BiasAdd) | |||
| *@par Inputs: | |||
| *Two inputs, including: | |||
| *@li x: A Tensor. Must be one of the following types: float32, float64, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, uint16, complex128, float16, uint32, uint64. | |||
| *@li x: A Tensor. Must be one of the following types: float32, float64, int32, | |||
| uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, uint16, | |||
| complex128, float16, uint32, uint64. | |||
| *format is ND. | |||
| *@li dimension: A Tensor. Must be one of the following types: int32, int64. Must be in the range [-rank(input x), rank(input x)]. Describes which dimension of the input Tensor to reduce across. | |||
| *@li dimension: A Tensor. Must be one of the following types: int32, int64. | |||
| Must be in the range [-rank(input x), rank(input x)]. Describes which dimension | |||
| of the input Tensor to reduce across. | |||
| * The format is ND. | |||
| *@par Attributes: | |||
| *dtype: The output type, either "int32" or "int64". Defaults to "int64". \n | |||
| @@ -2286,6 +2315,7 @@ REG_OP(ArgMaxV2) | |||
| .ATTR(dtype, Type, DT_INT64) | |||
| .OP_END_FACTORY_REG(ArgMaxV2) | |||
| /** | |||
| *@brief Returns the index with the largest value across axes of a tensor. \n | |||
| @@ -2298,15 +2328,16 @@ REG_OP(ArgMaxV2) | |||
| *@li dtype: The output type, either "int32" or "int64". Defaults to "int64". \n | |||
| *@par Outputs: | |||
| *y: A multi-dimensional Tensor of type int32, specifying the index with the largest value. The dimension is one less than that of "x". \n | |||
| *y: A multi-dimensional Tensor of type int32, specifying the index with the | |||
| largest value. The dimension is one less than that of "x". \n | |||
| *@attention Constraints: | |||
| *@li x: If there are multiple maximum values, the index of the first maximum value is used. | |||
| *@li The value range of "dimension" is [-dims, dims - 1]. "dims" is the dimension length of "x". \n | |||
| *@li The value range of "dimension" is [-dims, dims - 1]. "dims" is the | |||
| dimension length of "x". \n | |||
| *@par Third-party framework compatibility | |||
| * Compatible with TensorFlow operator ArgMax. | |||
| * | |||
| * @par Restrictions: | |||
| *Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
| */ | |||
| @@ -2929,9 +2960,13 @@ REG_OP(FusedMulAddN) | |||
| *@li bias: An ND tensor of type float16 or float32. \n | |||
| *@par Attributes: | |||
| *@li axis: An optional int32 used to compute the shape of bias input from the online bottoms. Defaults to "1". | |||
| *@li num_axes: An optional int32 used to compute the shape of bias input from a Caffe model trained offline. Defaults to "1". | |||
| *@li bias_from_blob: An optional bool. If "true", bias is input from a Caffe model trained offline. If "false", bias is input from online bottoms. Defaults to "true". \n | |||
| *@li axis: An optional int32 used to compute the shape of bias input from the | |||
| online bottoms. Defaults to "1". | |||
| *@li num_axes: An optional int32 used to compute the shape of bias input from a | |||
| Caffe model trained offline. Defaults to "1". | |||
| *@li bias_from_blob: An optional bool. If "true", bias is input from a Caffe | |||
| model trained offline. If "false", bias is input from online bottoms. Defaults | |||
| to "true". \n | |||
| *@par Outputs: | |||
| *y: An ND tensor of type float16 or float32. \n | |||
| @@ -2939,13 +2974,25 @@ REG_OP(FusedMulAddN) | |||
| *@attention Constraints:\n | |||
| * Assume that the shape length of "x" is "n" and that of "bias" is "m". | |||
| *@li "axis" is within the range [-n, n-1]. num_axes >= -1. | |||
| *@li If "bias_from_blob = true", "num_axes = -1", and "axis >= 0", the ith axis of "bias" and the (i+"axis")th axis of "x" must have the same size (0 <= i < n-axis).\n | |||
| * If "axis < 0", the ith axis of "bias" and the (i+n+"axis")th axis of "x" must have the same size (0 <= i < -axis). | |||
| *@li If "bias_from_blob = true" and "num_axes = 0", "bias" is a scalar with shape length 1 and dimension size 1. | |||
| *@li If "bias_from_blob = true", "num_axes > 0, and "axis >= 0", "axis + num_axes" must be less than or equal to "n" and the ith axis of "bias" and the (i+"axis")th axis of "x" must have the same size (0 <= i < num_axes).\n | |||
| * If "axis < 0", "n + axis + num_axes" must be less than or equal to "n" and the ith axis of "bias" and the (i+n+"axis")th axis of "x" must have the same size (0 <= i < num_axes). | |||
| *@li If "bias_from_blob = false", "bias" is not a scalar, and "axis >= 0","axis + m" must be less than or equal to "n" and the ith axis of "bias" and the (i+"axis")th axis of "x" must have the same size (0 <= i < m).\n | |||
| * If "axis < 0", "n + axis + m" must be less than or equal to "n" and the ith axis of "bias" and the (i+n+"axis")th axis of "x" must have the same size (0 <= i < m). | |||
| *@li If "bias_from_blob = true", "num_axes = -1", and "axis >= 0", the ith axis | |||
| of "bias" and the (i+"axis")th axis of "x" must have the same size (0 <= i < | |||
| n-axis).\n | |||
| * If "axis < 0", the ith axis of "bias" and the (i+n+"axis")th axis of "x" must | |||
| have the same size (0 <= i < -axis). | |||
| *@li If "bias_from_blob = true" and "num_axes = 0", "bias" is a scalar with | |||
| shape length 1 and dimension size 1. | |||
| *@li If "bias_from_blob = true", "num_axes > 0, and "axis >= 0", "axis + | |||
| num_axes" must be less than or equal to "n" and the ith axis of "bias" and the | |||
| (i+"axis")th axis of "x" must have the same size (0 <= i < num_axes).\n | |||
| * If "axis < 0", "n + axis + num_axes" must be less than or equal to "n" and | |||
| the ith axis of "bias" and the (i+n+"axis")th axis of "x" must have the same | |||
| size (0 <= i < num_axes). | |||
| *@li If "bias_from_blob = false", "bias" is not a scalar, and "axis >= 0","axis | |||
| + m" must be less than or equal to "n" and the ith axis of "bias" and the (i | |||
| +"axis")th axis of "x" must have the same size (0 <= i < m).\n | |||
| * If "axis < 0", "n + axis + m" must be less than or equal to "n" and the ith | |||
| axis of "bias" and the (i+n+"axis")th axis of "x" must have the same size (0 <= | |||
| i < m). | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the Caffe operator Bias. | |||
| */ | |||
| @@ -3023,10 +3070,12 @@ REG_OP(FusedMulAddNL2loss) | |||
| *@li x: A Tensor with any format. Must be one of the following types: float16, float32. \n | |||
| *@par Attributes: | |||
| *@li threshold: A required float32. Defaults to "0.0". "x" is compared with "threshold", outputs "1" for inputs above threshold; "0" otherwise. \n | |||
| *@li threshold: A required float32. Defaults to "0.0". "x" is compared with | |||
| "threshold", outputs "1" for inputs above threshold; "0" otherwise. \n | |||
| *@par Outputs: | |||
| *@li y: A Tensor with any format. Has the same type as the input. Must be one of the following types: float16, float32. | |||
| *@li y: A Tensor with any format. Has the same type as the input. Must be one | |||
| of the following types: float16, float32. | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the Caffe operator Threshold. | |||
| */ | |||
| @@ -3044,11 +3093,16 @@ REG_OP(FusedMulAddNL2loss) | |||
| *@li x: A tensor. Must be one of the following types: float16, float32. \n | |||
| *@par Attributes: | |||
| *@li axis: An optional int. Specify the axis to be cut at the input tensor. If this parameter is not provided, find the topk for each batch. Defaults to 10000 | |||
| *@li out_max_val: An optional bool. Whether to output the maximum value. If it is True, the maximum value and index are output, otherwise only the index is output. | |||
| *@li axis: An optional int. Specify the axis to be cut at the input tensor. If | |||
| this parameter is not provided, find the topk for each batch. Defaults to 10000 | |||
| *@li out_max_val: An optional bool. Whether to output the maximum value. If it | |||
| is True, the maximum value and index are output, otherwise only the index is | |||
| output. | |||
| * Defaults to False | |||
| *@li topk: An optional int. It means the number of top tok in each axis (the value is greater than or equal to 1), and the value range must be in [1,x.shape(axis)]. | |||
| * Defaults to 1 | |||
| *@li topk: An optional int. It means the number of top tok in each axis (the | |||
| value is greater than or equal to 1), and the value range must be in [1,x.shape | |||
| (axis)]. | |||
| * Defaults to 1 \n | |||
| *@par Outputs: | |||
| *@li indices: A tensor of type float16, float32, int32. The index of the maximum value of the output. | |||
| @@ -3168,7 +3222,8 @@ REG_OP(Axpy) | |||
| .OP_END_FACTORY_REG(Axpy) | |||
| /** | |||
| *@brief Creates a criterion that measures the loss given input tensors x1 x2 and a Tensor label y with values 1 or -1. \n | |||
| *@brief Creates a criterion that measures the loss given input tensors x1 x2 | |||
| and a Tensor label y with values 1 or -1. \n | |||
| *@par Inputs: | |||
| *@li x1: A ND Tensor with one of the following types: int8, uint8, int32, float16, float32. | |||
| @@ -36,7 +36,7 @@ namespace ge { | |||
| * if "cond" is a numerical scalar, non-zero means True and zero means False; | |||
| * if "cond" is a string scalar, non-empty means True and empty means False; | |||
| * if "cond" is not a scalar, non-empty means True and empty means False. | |||
| *@li input: The input tensors . It's a dynamic input. \n | |||
| *@li input: The input tensors . \n | |||
| *@par Graphs: | |||
| *@li then_branch: A subgraph takes 'input' and returns a list of tensors, | |||
| @@ -69,7 +69,7 @@ REG_OP(_If) | |||
| * if "cond" is a numerical scalar, non-zero means True and zero means False; | |||
| * if "cond" is a string scalar, non-empty means True and empty means False; | |||
| * if "cond" is not a scalar, non-empty means True and empty means False. | |||
| *@li input: The input tensors . It's a dynamic input. \n | |||
| *@li input: The input tensors . \n | |||
| *@par Graphs: | |||
| *@li then_branch: A subgraph takes 'input' and returns a list of tensors, | |||
| @@ -102,7 +102,7 @@ REG_OP(StatelessIf) | |||
| * if "cond" is a numerical scalar, non-zero means True and zero means False; | |||
| * if "cond" is a string scalar, non-empty means True and empty means False; | |||
| * if "cond" is not a scalar, non-empty means True and empty means False. | |||
| *@li input: The input tensors . It's a dynamic input. \n | |||
| *@li input: The input tensors . \n | |||
| *@par Graphs: | |||
| *@li then_branch: A subgraph takes 'input' and returns a list of tensors, | |||
| @@ -129,7 +129,7 @@ REG_OP(If) | |||
| *@par Inputs: | |||
| *@li branch_index: A int32 scalar which determines the selected subgraph. | |||
| *@li input: The input tensors, which will be passed to the subgraph . It's a dynamic input. \n | |||
| *@li input: The input tensors, which will be passed to the subgraph . \n | |||
| *@par Graphs: | |||
| *branches: A list of subgraphs, each of which takes 'input' and returns a list of tensors, | |||
| @@ -152,7 +152,7 @@ REG_OP(Case) | |||
| *@brief Cyclic execute the "body" subgraph until the return tensor of "cond" subgraph means False . \n | |||
| *@par Inputs: | |||
| *input: The input tensors . It's a dynamic input. \n | |||
| *input: The input tensors . \n | |||
| *@par Graphs: | |||
| *@li cond: A subgraph takes 'input' and returns a tensor. | |||
| @@ -183,7 +183,7 @@ REG_OP(_While) | |||
| *@brief Cyclic execute the "body" subgraph until the return tensor of "cond" subgraph means False . \n | |||
| *@par Inputs: | |||
| *input: The input tensors . It's a dynamic input. \n | |||
| *input: The input tensors . \n | |||
| *@par Graphs: | |||
| *@li cond: A subgraph takes 'input' and returns a tensor. | |||
| @@ -215,7 +215,7 @@ REG_OP(While) | |||
| *@brief Cyclic execute the "body" subgraph until the return tensor of "cond" subgraph means False . \n | |||
| *@par Inputs: | |||
| *input: The input tensors . It's a dynamic input. \n | |||
| *input: The input tensors . \n | |||
| *@par Graphs: | |||
| *@li cond: A subgraph takes 'input' and returns a tensor. | |||
| @@ -250,7 +250,7 @@ REG_OP(StatelessWhile) | |||
| *@li start: A int32 scalar. The lower bound. | |||
| *@li limit: A int32 scalar. The upper bound. | |||
| *@li delta: A int32 scalar. The step size. | |||
| *@li input: The input tensors, which will be passed to "body" . It's a dynamic input. \n | |||
| *@li input: The input tensors, which will be passed to "body" . \n | |||
| *@par Graphs: | |||
| *body: A subgraph takes 'input' and returns a another list of tensors . \n | |||
| @@ -274,7 +274,7 @@ REG_OP(For) | |||
| *@brief Pass the input tensors to the subgraph "f" and return the output tensors . \n | |||
| *@par Inputs: | |||
| *args: The input tensors, which will be passed to "f" . It's a dynamic input. \n | |||
| *args: The input tensors, which will be passed to "f" . \n | |||
| *@par Graphs: | |||
| *f: A subgraph takes 'args' and returns a another list of tensors . \n | |||
| @@ -303,7 +303,7 @@ REG_OP(PartitionedCall) | |||
| *@brief Pass the input tensors to the subgraph "f" and return the output tensors . \n | |||
| *@par Inputs: | |||
| *args: The input tensors, which will be passed to "f" . It's a dynamic input. \n | |||
| *args: The input tensors, which will be passed to "f" . \n | |||
| *@par Graphs: | |||
| *f: A subgraph takes 'args' and returns a another list of tensors . \n | |||
| @@ -160,8 +160,10 @@ REG_OP(CropAndResize) | |||
| *@li box_index: A Tensor of type int32. A 1-D tensor of shape [num_boxes] with int32 values in [0, batch) . \n | |||
| *@par Attributes: | |||
| *@li crop_size: list int. [crop_height, crop_width]. All cropped image patches are resized to this size. | |||
| *@li extrapolation_value: An optional float. Defaults to 0. Value used for extrapolation, when applicable. | |||
| *@li crop_size: list int. [crop_height, crop_width]. All cropped image patches | |||
| are resized to this size. | |||
| *@li extrapolation_value: An optional float. Defaults to 0. Value used for | |||
| extrapolation, when applicable. | |||
| *@li method: An optional string from: '"bilinear"'. Defaults to "bilinear" . \n | |||
| *@par Outputs: | |||
| @@ -172,7 +174,6 @@ REG_OP(CropAndResize) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with tensorflow CropAndResize operator. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use CropAndResize instead. | |||
| */ | |||
| @@ -87,39 +87,58 @@ REG_OP(L2NormalizeGrad) | |||
| *@par Inputs: | |||
| * Five inputs, including: (NHWC, NCHW, or NC1HWC0 supported) | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC or NCHW for 4D or NC1HWC0 for 5D. | |||
| *@li scale: A Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. Must be 5D | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC or NCHW | |||
| for 4D or NC1HWC0 for 5D. | |||
| *@li scale: A Tensor of type float32. Must be 1D if input "x" is with format | |||
| NHWC or NCHW. Must be 5D | |||
| if input "x" is with format NC1HWC0. Specifies the scaling factor. | |||
| *@li offset: A Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. Must be 5D | |||
| if input "x" is with format NC1HWC0. Specifies the offset. | |||
| *@li mean: A Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. Must be 5D | |||
| if input "x" is with format NC1HWC0. Specifies the mean used for inference. Must be "None" if the | |||
| *@li mean: A Tensor of type float32. Must be 1D if input "x" is with format | |||
| NHWC or NCHW. Must be 5D | |||
| if input "x" is with format NC1HWC0. Specifies the mean used for inference. | |||
| Must be "None" if the | |||
| operation is used for training. | |||
| *@li variance: A Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. Must be | |||
| 5D if input "x" is with format NC1HWC0. Specifies the variance used for inference. Must be "None" | |||
| *@li variance: A Tensor of type float32. Must be 1D if input "x" is with format | |||
| NHWC or NCHW. Must be | |||
| 5D if input "x" is with format NC1HWC0. Specifies the variance used for | |||
| inference. Must be "None" | |||
| if the operation is used for training . \n | |||
| *@par Attributes: | |||
| *@li epsilon: An optional float32, specifying the small value added to variance to avoid dividing by zero. Defaults to "0.0001". | |||
| *@li data_format: An optional string, specifying the format of "x". Defaults to "NHWC". | |||
| *@li is_training: An optional bool, specifying if the operation is used for training or inference. Defaults to "True" . \n | |||
| *@li epsilon: An optional float32, specifying the small value added to variance | |||
| to avoid dividing by zero. Defaults to "0.0001". | |||
| *@li data_format: An optional string, specifying the format of "x". Defaults to | |||
| "NHWC". | |||
| *@li is_training: An optional bool, specifying if the operation is used for | |||
| training or inference. Defaults to "True" . \n | |||
| *@par Outputs: | |||
| * Five outputs, including: (NHWC, NCHW, or NC1HWC0 supported) | |||
| *@li y: A 4D or 5D Tensor of type float16 or float32 for the normalized "x", with format NHWC or NCHW for 4D or NC1HWC0 for 5D. | |||
| *@li batch_mean: A Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. Must be 5D | |||
| *@li y: A 4D or 5D Tensor of type float16 or float32 for the normalized "x", | |||
| with format NHWC or NCHW for 4D or NC1HWC0 for 5D. | |||
| *@li batch_mean: A Tensor of type float32. Must be 1D if input "x" is with | |||
| format NHWC or NCHW. Must be 5D | |||
| if input "x" is with format NC1HWC0. Specifies the mean of "x". | |||
| *@li batch_variance: A Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. | |||
| *@li batch_variance: A Tensor of type float32. Must be 1D if input "x" is with | |||
| format NHWC or NCHW. | |||
| Must be 5D if input "x" is with format NC1HWC0. Specifies the variance of "x". | |||
| *@li reserve_space_1: An optional Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. | |||
| Must be 5D if input "x" is with format NC1HWC0. Specifies the mean of "x" for gradient computation. Pass "None" to skip this output. | |||
| *@li reserve_space_2: An optional Tensor of type float32. Must be 1D if input "x" is with format NHWC or NCHW. | |||
| Must be 5D if input "x" is with format NC1HWC0. Specifies the variance of "x" for gradient computation. Pass "None" to skip this output . \n | |||
| *@li reserve_space_1: An optional Tensor of type float32. Must be 1D if input | |||
| "x" is with format NHWC or NCHW. | |||
| Must be 5D if input "x" is with format NC1HWC0. Specifies the mean of "x" for | |||
| gradient computation. Pass "None" to skip this output. | |||
| *@li reserve_space_2: An optional Tensor of type float32. Must be 1D if input | |||
| "x" is with format NHWC or NCHW. | |||
| Must be 5D if input "x" is with format NC1HWC0. Specifies the variance of "x" | |||
| for gradient computation. Pass "None" to skip this output . \n | |||
| *@attention Constraints: | |||
| *@li If the operation is used for inference and outputs "reserve_space_1" and "reserve_space_2" are available, | |||
| then "reserve_space_1" has the same value as "mean" and "reserve_space_2" has the same value as "variance". | |||
| *@li For Ascend 310, the result accuracy fails to reach 1‰ due to the square root instruction . \n | |||
| *@li If the operation is used for inference and outputs "reserve_space_1" and | |||
| "reserve_space_2" are available, | |||
| then "reserve_space_1" has the same value as "mean" and "reserve_space_2" has | |||
| the same value as "variance". | |||
| *@li For Ascend 310, the result accuracy fails to reach 1‰ due to the square | |||
| root instruction . \n | |||
| *@par Third-party framework compatibility | |||
| *@li Compatible with the TensorFlow operator fused_batch_norm. | |||
| @@ -166,13 +185,17 @@ is used for training or inference. Defaults to "True" . \n | |||
| *@li y: A 4D Tensor of type float16 or float32, for the normalized "x". | |||
| *@li batch_mean: A 1D Tensor of type float32, for the mean of "x". | |||
| *@li batch_variance: A 1D Tensor of type float32, for the variance of "x". | |||
| *@li reserve_space_1: A 1D Tensor of type float32, for the mean of "x" for gradient computation. | |||
| *@li reserve_space_2: A 1D Tensor of type float32, for the variance of "x" for gradient computation . \n | |||
| *@li reserve_space_1: A 1D Tensor of type float32, for the mean of "x" for | |||
| gradient computation. | |||
| *@li reserve_space_2: A 1D Tensor of type float32, for the variance of "x" | |||
| for gradient computation . \n | |||
| *@attention Constraints: | |||
| *@li If the operation is used for inference, then output "reserve_space_1" | |||
| has the same value as "mean" and output "reserve_space_2" has the same value as "variance". | |||
| *@li For Ascend 310, the result accuracy fails to reach 1‰ due to the square root instruction . \n | |||
| has the same value as "mean" and output "reserve_space_2" has the same value as | |||
| "variance". | |||
| *@li For Ascend 310, the result accuracy fails to reach 1‰ due to the square | |||
| root instruction . \n | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator fused_batch_norm_v2. | |||
| @@ -198,23 +221,34 @@ REG_OP(BatchNormExt2) | |||
| *@par Inputs: | |||
| * Five inputs, including: | |||
| *@li y_backprop: A 4D or 5D Tensor of type float16 or float32, with format NHWC, NCHW, or NC1HWC0, for the gradient. | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC, NCHW, or NC1HWC0. | |||
| *@li scale: A 4D or 5D Tensor of type float32, with format NHWC, NCHW, or NC1HWC0. | |||
| *@li reserve_space_1: A 4D or 5D Tensor of type float32, with format NHWC, NCHW, or NC1HWC0. It is an output of BatchNorm. | |||
| *@li reserve_space_2: A 4D or 5D Tensor of type float32, with format NHWC, NCHW, or NC1HWC0. It is an output of BatchNorm . \n | |||
| *@li y_backprop: A 4D or 5D Tensor of type float16 or float32, with format | |||
| NHWC, NCHW, or NC1HWC0, for the gradient. | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC, NCHW, | |||
| or NC1HWC0. | |||
| *@li scale: A 4D or 5D Tensor of type float32, with format NHWC, NCHW, or | |||
| NC1HWC0. | |||
| *@li reserve_space_1: A 4D or 5D Tensor of type float32, with format NHWC, | |||
| NCHW, or NC1HWC0. It is an output of BatchNorm. | |||
| *@li reserve_space_2: A 4D or 5D Tensor of type float32, with format NHWC, | |||
| NCHW, or NC1HWC0. It is an output of BatchNorm . \n | |||
| *@par Attributes: | |||
| *@li epsilon: An optional float32. Defaults to "0.0001". A small float number added to the variance of "x". | |||
| *@li epsilon: An optional float32. Defaults to "0.0001". A small float number | |||
| added to the variance of "x". | |||
| *@li data_format: An optional string. Defaults to "NHWC". | |||
| *@li is_training: An optional bool. Defaults to "true". Specifies the operation is for training (default) or inference . \n | |||
| *@par Outputs: | |||
| *@li x_backprop: A Tensor of type float16 or float32, with format NHWC, NCHW, or NC1HWC0, for the offset of "x". | |||
| *@li scale_backprop: A Tensor of type float32, with format NHWC, NCHW, or NC1HWC0, for the offset of "scale". | |||
| *@li *offset_backprop: A Tensor of type float32, with format NHWC, NCHW, or NC1HWC0, for the offset of "offset". | |||
| *@li *reserve_space_4: A Tensor of type float32, with shape NHWC, NCHW, or NC1HWC0. Pass "None" to skip this output. | |||
| *@li *reserve_space_5: A Tensor of type float32, with shape NHWC, NCHW, or NC1HWC0. Pass "None" to skip this output . \n | |||
| *@li x_backprop: A Tensor of type float16 or float32, with format NHWC, NCHW, | |||
| or NC1HWC0, for the offset of "x". | |||
| *@li scale_backprop: A Tensor of type float32, with format NHWC, NCHW, or | |||
| NC1HWC0, for the offset of "scale". | |||
| *@li *offset_backprop: A Tensor of type float32, with format NHWC, NCHW, or | |||
| NC1HWC0, for the offset of "offset". | |||
| *@li *reserve_space_4: A Tensor of type float32, with shape NHWC, NCHW, or | |||
| NC1HWC0. Pass "None" to skip this output. | |||
| *@li *reserve_space_5: A Tensor of type float32, with shape NHWC, NCHW, or | |||
| NC1HWC0. Pass "None" to skip this output . \n | |||
| *@attention Constraints: | |||
| * The preceding layer of this operator must be operator BatchNorm . \n | |||
| @@ -244,21 +278,28 @@ REG_OP(BatchNormGrad) | |||
| *@par Inputs: | |||
| * Five inputs, including: | |||
| *@li y_backprop: A 4D Tensor of type float16 or float32, with format NHWC or NCHW, for the gradient. | |||
| *@li y_backprop: A 4D Tensor of type float16 or float32, with format NHWC or | |||
| NCHW, for the gradient. | |||
| *@li x: A 4D Tensor of type float16 or float32, with format NHWC or NCHW. | |||
| *@li scale: A 4D Tensor of type float32, with format NHWC or NCHW. | |||
| *@li reserve_space_1: A 4D Tensor of type float32, with format NHWC or NCHW. It is an output of BatchNormExt2. | |||
| *@li reserve_space_2: A 4D Tensor of type float32, with format NHWC or NCHW. It is an output of BatchNormExt2 . \n | |||
| *@li reserve_space_1: A 4D Tensor of type float32, with format NHWC or NCHW. It | |||
| is an output of BatchNormExt2. | |||
| *@li reserve_space_2: A 4D Tensor of type float32, with format NHWC or NCHW. It | |||
| is an output of BatchNormExt2 . \n | |||
| *@par Attributes: | |||
| *@li epsilon: A required float32. A small float number added to the variance of "x". | |||
| *@li data_format: A required string for the format. | |||
| *@li is_training: A required bool for specifying the operation is for training (true) or inference (false) . \n | |||
| *@li is_training: A required bool for specifying the operation is for training | |||
| (true) or inference (false) . \n | |||
| *@par Outputs: | |||
| *@li x_backprop: A Tensor of type float16 or float32, with format NHWC or NCHW, for the offset of "x". | |||
| *@li scale_backprop: A Tensor of type float32, with format NHWC or NCHW, for the offset of "scale". | |||
| *@li offset_backprop: A Tensor of type float32, with format NHWC or NCHW, for the offset of "offset". | |||
| *@li x_backprop: A Tensor of type float16 or float32, with format NHWC or NCHW, | |||
| for the offset of "x". | |||
| *@li scale_backprop: A Tensor of type float32, with format NHWC or NCHW, for | |||
| the offset of "scale". | |||
| *@li offset_backprop: A Tensor of type float32, with format NHWC or NCHW, for | |||
| the offset of "offset". | |||
| *@li reserve_space_3: A Tensor of type float32, with format NHWC or NCHW. | |||
| *@li reserve_space_4: A Tensor of type float32, with format NHWC or NCHW . \n | |||
| @@ -290,14 +331,18 @@ REG_OP(BatchNormGradExt2) | |||
| *@brief Performs batch normalization . \n | |||
| *@par Inputs: | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC or NCHW for 4D or NC1HWC0 for 5D. | |||
| *@li mean: A Tensor of type float32 or float16. Must be 1D if input "x" Specifies the mean used for inference. | |||
| *@li variance: A Tensor of type float32 or float16 . Must be 1D if input "x" Specifies the variance used for inference. | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC or NCHW | |||
| for 4D or NC1HWC0 for 5D. | |||
| *@li mean: A Tensor of type float32 or float16. Must be 1D if input "x" | |||
| Specifies the mean used for inference. | |||
| *@li variance: A Tensor of type float32 or float16 . Must be 1D if input "x" | |||
| Specifies the variance used for inference. | |||
| *@li momentum: A Tensor,represents the mean and the variance's scale factor | |||
| *@li scale: An optional tensor of type float16 or float32, no use | |||
| *@li offset: An optional tensor of type float16 or float32, no use | |||
| *@par Attributes: | |||
| *@li epsilon: An optional float32, specifying the small value added to variance to avoid dividing by zero. Defaults to "0.00001". | |||
| *@li epsilon: An optional float32, specifying the small value added to variance | |||
| to avoid dividing by zero. Defaults to "0.00001". | |||
| *@li use_global_stats: mean inference mode , only can be "True". | |||
| *@li mode: An optional input, not use | |||
| *@par Outputs: | |||
| @@ -315,16 +360,20 @@ REG_OP(BNInference) | |||
| .ATTR(use_global_stats, Bool,true) | |||
| .ATTR(mode, Int,1) | |||
| .OP_END_FACTORY_REG(BNInference) | |||
| /** | |||
| *@brief aicpu batch normalization host . \n | |||
| *@par Inputs: | |||
| *@li mean: A Tensor of type float32 or float16. Must be 1D if input "x" Specifies the mean used for inference. | |||
| *@li variance: A Tensor of type float32 or float16 . Must be 1D if input "x" Specifies the variance used for inference. | |||
| *@li mean: A Tensor of type float32 or float16. Must be 1D if input "x" | |||
| Specifies the mean used for inference. | |||
| *@li variance: A Tensor of type float32 or float16 . Must be 1D if input "x" | |||
| Specifies the variance used for inference. | |||
| *@li momentum: An optional float, mean and variance's Scale factor | |||
| *@par Attributes: | |||
| *@li epsilon: An optional float32, specifying the small value added to variance to avoid dividing by zero. Defaults to "0.00001". | |||
| *@li epsilon: An optional float32, specifying the small value added to variance | |||
| to avoid dividing by zero. Defaults to "0.00001". | |||
| *@li use_global_stats: mean inference mode , only can be "True". | |||
| *@li mode: An optional attr, not use | |||
| *@par Outputs: | |||
| @@ -348,14 +397,19 @@ REG_OP(BnHost) | |||
| *@brief Performs batch normalization . \n | |||
| *@par Inputs: | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC or NCHW for 4D or NC1HWC0 for 5D. | |||
| *@li mean: A Tensor of type float32 or float16. Must be 1D if input "x" Specifies the mean used for inference. | |||
| *@li variance: A Tensor of type float32 or float16 . Must be 1D if input "x" Specifies the variance used for inference. | |||
| *@li x: A 4D or 5D Tensor of type float16 or float32, with format NHWC or NCHW | |||
| for 4D or NC1HWC0 for 5D. | |||
| *@li mean: A Tensor of type float32 or float16. Must be 1D if input "x" | |||
| Specifies the mean used for inference. | |||
| *@li variance: A Tensor of type float32 or float16 . Must be 1D if input "x" | |||
| Specifies the variance used for inference. | |||
| *@li scale: An optional tensor of type float16 or float32, no use | |||
| *@li offset: An optional tensor of type float16 or float32, no use | |||
| *@par Attributes: | |||
| *@li momentum: An optional float32 num, represents the mean and the variance's scale factor | |||
| *@li epsilon: An optional float32, specifying the small value added to variance to avoid dividing by zero. Defaults to "0.00001". | |||
| *@li momentum: An optional float32 num, represents the mean and the variance's | |||
| scale factor | |||
| *@li epsilon: An optional float32, specifying the small value added to variance | |||
| to avoid dividing by zero. Defaults to "0.00001". | |||
| *@li use_global_stats: mean inference mode , only can be "True". | |||
| *@li mode: An optional attr, not use | |||
| *@par Outputs: | |||
| @@ -310,9 +310,6 @@ REG_OP(DepthwiseConv2DBackpropInputD) | |||
| * @par Third-party framework compatibility | |||
| * @li Compatible with the TensorFlow operator DepthwiseConv2D. | |||
| * @li Compatible with the Caffe operator DepthwiseConv2D. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
| */ | |||
| REG_OP(DepthwiseConv2D) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_INT8})) | |||
| @@ -158,18 +158,25 @@ REG_OP(Iou) | |||
| *@par Inputs: | |||
| * Three inputs, including: | |||
| *@li ydiff: A 5HD gradient input of type float32. | |||
| *@li rois: ROI position. A 2D Tensor of float32 with shape (N, 5). "N" indicates the number of ROIs, | |||
| the value "5" indicates the indexes of images where the ROIs are located, "x0", "x1", "y0", and "y1". | |||
| *@li rois_n: An optional input, specifying the number of valid ROIs. This parameter is reserved . \n | |||
| *@li rois: ROI position. A 2D Tensor of float32 with shape (N, 5). "N" | |||
| indicates the number of ROIs, | |||
| the value "5" indicates the indexes of images where the ROIs are located, "x0", | |||
| "x1", "y0", and "y1". | |||
| *@li rois_n: An optional input, specifying the number of valid ROIs. This | |||
| parameter is reserved . \n | |||
| *@par Attributes: | |||
| *@li xdiff_shape: A required list of 4 ints, obtained based on the shape of "features" of ROIAlign. | |||
| *@li pooled_width: A required attribute of type int, specifying the W dimension. | |||
| *@li pooled_height: A required attribute of type int, specifying the H dimension. | |||
| *@li spatial_scale: A required attribute of type float, specifying the scaling ratio of "features" to the original image. | |||
| *@li sample_num: An optional attribute of type int, specifying the horizontal and vertical | |||
| sampling frequency of each output. If this attribute is set to "0", the sampling frequency is | |||
| equal to the rounded up value of "rois", which is a floating point number. Defaults to "2" . \n | |||
| *@li spatial_scale: A required attribute of type float, specifying the scaling | |||
| ratio of "features" to the original image. | |||
| *@li sample_num: An optional attribute of type int, specifying the horizontal | |||
| and vertical | |||
| sampling frequency of each output. If this attribute is set to "0", the | |||
| sampling frequency is | |||
| equal to the rounded up value of "rois", which is a floating point number. | |||
| Defaults to "2" . \n | |||
| *@par Outputs: | |||
| *xdiff: Gradient added to input "features". Has the same 5HD shape as input "features". | |||
| @@ -924,29 +924,7 @@ REG_OP(InstanceNormV2) | |||
| .ATTR(epsilon, Float, 0.00001) | |||
| .OP_END_FACTORY_REG(InstanceNormV2) | |||
| /** | |||
| *@brief Performs instance normalization for inference. | |||
| *@par Inputs:\n | |||
| * Five inputs, including: (NC1HWC0 supported) | |||
| *@li x: A Tensor of type float16 or float32. | |||
| *@li gamma: A [N, C1, 1, 1, C0] Tensor of type float32, for the scaling gamma. | |||
| *@li beta: A [N, C1, 1, 1, C0] Tensor of type float32, for the scaling beta. | |||
| *@li mean: A [N, C1, 1, 1, C0] ensor of type float32, for the mean. | |||
| *@li variance: A [N, C1, 1, 1, C0] Tensor of type float32, for the variance. | |||
| *@li variance_sqrt: A [N, C1, 1, 1, C0] Tensor of type float32, for the variance_sqrt. | |||
| *@par Outputs:\n | |||
| *y: A Tensor of type float16 or float32 for the normalized "x". | |||
| *batch_mean: A Tensor of type float32 for the result mean. | |||
| *batch_ variance: A Tensor of type float32 for the result variance. | |||
| *@attention Constraints: | |||
| *For Ascend 310, the result accuracy fails to reach 1<89> due to the square root instruction. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use INInferV2 instead. | |||
| */ | |||
| REG_OP(INInferV2D) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
| .OPTIONAL_INPUT(gamma, TensorType({DT_FLOAT})) | |||
| @@ -168,9 +168,6 @@ REG_OP(AvgPoolV2) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator AvgPool3D. | |||
| * | |||
| * @par Restrictions: | |||
| *Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
| */ | |||
| REG_OP(AvgPool3D) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT32, DT_DOUBLE})) | |||
| @@ -111,9 +111,6 @@ REG_OP(ApplyAdaMax) | |||
| * | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyAdaMax. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyAdaMax instead. | |||
| */ | |||
| REG_OP(ApplyAdaMaxD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -352,9 +349,6 @@ REG_OP(ApplyMomentum) | |||
| * accum: A mutable tensor. Has the same type as input "accum". | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyMomentum. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyMomentum instead. | |||
| */ | |||
| REG_OP(ApplyMomentumD) | |||
| @@ -681,9 +675,6 @@ REG_OP(ApplyPowerSign) | |||
| * | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyPowerSign. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyPowerSign instead. | |||
| */ | |||
| REG_OP(ApplyPowerSignD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -804,9 +795,6 @@ REG_OP(ApplyAddSign) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator ApplyAddSign. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyAddSign instead. | |||
| */ | |||
| REG_OP(ApplyAddSignD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -928,9 +916,6 @@ REG_OP(ApplyCenteredRMSProp) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyCenteredRMSPropD. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyCenteredRMSProp instead. | |||
| */ | |||
| REG_OP(ApplyCenteredRMSPropD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1049,9 +1034,6 @@ REG_OP(ApplyAdagrad) | |||
| * | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyAdagrad. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyAdagrad instead. | |||
| */ | |||
| REG_OP(ApplyAdagradD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1236,9 +1218,6 @@ REG_OP(ApplyAdagradDA) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyAdagradDA. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyAdagradDA instead. | |||
| */ | |||
| REG_OP(ApplyAdagradDAD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1496,9 +1475,6 @@ REG_OP(ApplyProximalAdagrad) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyProximalAdagradD. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyProximalAdagrad instead. | |||
| */ | |||
| REG_OP(ApplyProximalAdagradD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1592,9 +1568,6 @@ REG_OP(SparseApplyProximalAdagrad) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator SparseApplyProximalAdagrad. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use SparseApplyProximalAdagrad instead. | |||
| */ | |||
| REG_OP(SparseApplyProximalAdagradD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1681,9 +1654,6 @@ REG_OP(ApplyFtrl) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyFtrl. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyFtrl instead. | |||
| */ | |||
| REG_OP(ApplyFtrlD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1775,9 +1745,6 @@ REG_OP(ApplyFtrlV2) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyFtrlV2. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyFtrlV2 instead. | |||
| */ | |||
| REG_OP(ApplyFtrlV2D) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1890,9 +1857,6 @@ REG_OP(ApplyAdam) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator ApplyAdam. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyAdam instead. | |||
| */ | |||
| REG_OP(ApplyAdamD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -1981,9 +1945,6 @@ REG_OP(ApplyAdadelta) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator ApplyAdadelta. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ApplyAdadelta instead. | |||
| */ | |||
| REG_OP(ApplyAdadeltaD) | |||
| .INPUT(var, TensorType::NumberType()) | |||
| @@ -65,9 +65,6 @@ REG_OP(Fill) | |||
| * | |||
| *@par Outputs: | |||
| * y: A tensor. Has the same type as "value". | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use Fill instead. | |||
| */ | |||
| REG_OP(FillD) | |||
| .INPUT(value, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT8, DT_INT16, | |||
| @@ -125,9 +122,6 @@ REG_OP(BroadcastTo) | |||
| * | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator BroadcastTo. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use BroadcastTo instead. | |||
| */ | |||
| REG_OP(BroadcastToD) | |||
| .INPUT(x, TensorType::BasicType()) | |||
| @@ -175,9 +169,6 @@ REG_OP(Pad) | |||
| *@par Third-party framework compatibility: | |||
| * Compatible with TensorFlow operator Pad. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use Pad instead. | |||
| */ | |||
| REG_OP(PadD) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT8, DT_UINT8, DT_FLOAT})) | |||
| @@ -272,9 +263,6 @@ REG_OP(PadV3D) | |||
| *@see Diag() | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator Diag. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use Diag instead. | |||
| */ | |||
| REG_OP(DiagD) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT32})) | |||
| @@ -30,7 +30,7 @@ namespace ge { | |||
| *@par Inputs: | |||
| *Two inputs, including: | |||
| *@li rt_nested_splits: A list of at least 1 Tensor objects with the same type | |||
| in: int32, int64. The row_splits for the RaggedTensor. It's a dynamic input. | |||
| in: int32, int64. The row_splits for the RaggedTensor. | |||
| *@li rt_dense_values: A Tensor. The flat_values for the RaggedTensor | |||
| Must be one of the following types: bool, int8, int16, uint16, int32, | |||
| int64, double, float, float16 . \n | |||
| @@ -66,7 +66,7 @@ REG_OP(RaggedTensorToSparse) | |||
| *@li values:A 1D tensor representing the values of the ragged tensor. | |||
| *@li default_value:A `Tensor`. Must have the same type as `values`. | |||
| *@li row_partition_tensors:A list of at least 1 `Tensor` objects with the same | |||
| type in: `int64`, `int32` . It's a dynamic input.\n | |||
| type in: `int64`, `int32` .\n | |||
| *@par Attributes: | |||
| *@li num_row_partition_tensors:Numbers of row partition tensors. | |||
| @@ -374,9 +374,6 @@ REG_OP(DropOutGenMask) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator lin_space. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use LinSpace instead. | |||
| */ | |||
| REG_OP(LinSpaceD) | |||
| .INPUT(assist, TensorType({DT_FLOAT})) | |||
| @@ -353,9 +353,6 @@ REG_OP(ReduceSum) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator Sum. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ReduceSum instead. | |||
| */ | |||
| REG_OP(ReduceSumD) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
| @@ -381,9 +378,6 @@ REG_OP(ReduceSumD) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator ReduceAll. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ReduceAll instead. | |||
| */ | |||
| REG_OP(ReduceAllD) | |||
| .INPUT(x, TensorType({DT_BOOL})) | |||
| @@ -459,9 +453,6 @@ REG_OP(ReduceProd) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator ReduceProd. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ReduceProd instead. | |||
| */ | |||
| REG_OP(ReduceProdD) | |||
| .INPUT(x,TensorType({DT_FLOAT, DT_UINT8, DT_INT8, DT_INT32, DT_FLOAT16})) | |||
| @@ -516,9 +507,6 @@ REG_OP(ReduceMean) | |||
| *@par Third-party framework compatibility: | |||
| * Compatible with the TensorFlow operator ReduceMean. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ReduceMean instead. | |||
| */ | |||
| REG_OP(ReduceMeanD) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
| @@ -573,9 +561,6 @@ REG_OP(ReduceMax) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with TensorFlow operator Max. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ReduceMax instead. | |||
| */ | |||
| REG_OP(ReduceMaxD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_UINT8, DT_INT8, | |||
| @@ -630,9 +615,6 @@ REG_OP(ReduceMin) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator reduce_min. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ReduceMin instead. | |||
| */ | |||
| REG_OP(ReduceMinD) | |||
| .INPUT(x, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT8,DT_UINT8})) | |||
| @@ -699,9 +681,6 @@ REG_OP(ReduceAny) | |||
| * | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator reduce_any. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ReduceAny instead. | |||
| */ | |||
| REG_OP(ReduceAnyD) | |||
| .INPUT(x, TensorType({DT_BOOL})) | |||
| @@ -787,9 +766,6 @@ REG_OP(EuclideanNorm) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator EuclideanNorm. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use EuclideanNorm instead. | |||
| */ | |||
| REG_OP(EuclideanNormD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_INT32, DT_FLOAT16})) | |||
| @@ -92,6 +92,7 @@ REG_OP(DynamicLSTM) | |||
| .OUTPUT(output_h, TensorType({DT_FLOAT32})) | |||
| .OP_END_FACTORY_REG(DynamicLSTM) | |||
| /** | |||
| *@brief: DynamicRNNGrad calculation. | |||
| *@par Inputs: | |||
| @@ -126,7 +127,7 @@ REG_OP(DynamicLSTM) | |||
| *@li keep_prob:An float identifying the keep prob in the op. Default to 1. | |||
| *@li cell_clip:An float identifying the cell clip in the op. Default to -1. | |||
| *@li num_proj:An integer identifying the num projection in the op. Default to 0. | |||
| *@li time_major:An bool identifying the time major in the op. Default to false. | |||
| *@li time_major:An bool identifying the time major in the op. Default to true. | |||
| *@li activation:An string identifying the type of activation function in the op. Default to "tanh". Only tanh is currently supported. | |||
| *@li forget_bias:An float identifying the forget bias in the op. Default to 0. | |||
| *@li is_training:An bool identifying is training in the op. Default to true. | |||
| @@ -28,7 +28,7 @@ namespace ge { | |||
| /** | |||
| *@brief Mark which tensors need to be saved to the ckpt file. | |||
| *@par Inputs: | |||
| *tensors: A list of input tensor.It's a dynamic input. | |||
| *tensors: A list of input tensor. | |||
| *@par Restrictions: | |||
| *Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
| */ | |||
| @@ -35,16 +35,16 @@ namespace ge { | |||
| *rate . \n | |||
| *@par Inputs: | |||
| *@li sparse_example_indices: a list of vectors which contain example indices.It's a dynamic input. | |||
| *@li sparse_feature_indices: a list of vectors which contain feature indices.It's a dynamic input. | |||
| *@li sparse_feature_values: a list of vectors which contains feature value associated with each feature group.It's a dynamic input. | |||
| *@li dense_features: a list of matrices which contains the dense feature values.It's a dynamic input. | |||
| *@li sparse_example_indices: a list of vectors which contain example indices. | |||
| *@li sparse_feature_indices: a list of vectors which contain feature indices. | |||
| *@li sparse_feature_values: a list of vectors which contains feature value associated with each feature group. | |||
| *@li dense_features: a list of matrices which contains the dense feature values. | |||
| *@li example_weights: a vector which contains the weight associated with each example. | |||
| *@li example_labels: a vector which contains the label/target associated with each example. | |||
| *@li sparse_indices: a list of vectors where each value is the indices which has | |||
| *corresponding weights in sparse_weights. This field maybe omitted for the dense approach.It's a dynamic input. | |||
| *corresponding weights in sparse_weights. This field maybe omitted for the dense approach. | |||
| *@li sparse_weights: a list of vectors where each value is the weight associated with a sparse feature group. | |||
| *@li dense_weights: a list of vectors where the values are the weights associated with a dense feature group.It's a dynamic input. | |||
| *@li dense_weights: a list of vectors where the values are the weights associated with a dense feature group. | |||
| *@li example_state_data: a list of vectors containing the example state data. | |||
| *@li loss_type: Type of the primal loss. Currently SdcaSolver supports logistic, squared and hinge losses. | |||
| *@li l1: Symmetric l1 regularization strength. | |||
| @@ -61,7 +61,6 @@ namespace ge { | |||
| *@par Third-party framework compatibility | |||
| * Compatible with tensorflow SdcaOptimizerV2 operator. | |||
| */ | |||
| REG_OP(SdcaOptimizerV2) | |||
| .DYNAMIC_INPUT(sparse_example_indices, TensorType({DT_INT64})) | |||
| .DYNAMIC_INPUT(sparse_feature_indices, TensorType({DT_INT64})) | |||
| @@ -79,9 +79,6 @@ REG_OP(Range) | |||
| *@see Range() | |||
| *@since V100R001C33 | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use Range instead. | |||
| */ | |||
| REG_OP(RangeD) | |||
| .INPUT(x, TensorType({DT_FLOAT,DT_INT32})) | |||
| @@ -226,9 +223,6 @@ REG_OP(GatherV2) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator GatherV2. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use GatherV2 instead. | |||
| */ | |||
| REG_OP(GatherV2D) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT32, DT_UINT32, DT_INT8, DT_UINT8, | |||
| @@ -331,9 +325,6 @@ REG_OP(StridedSlice) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator StridedSlice. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use StridedSlice instead. | |||
| */ | |||
| REG_OP(StridedSliceD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT32, DT_UINT8, DT_INT8, | |||
| @@ -389,9 +380,6 @@ REG_OP(StridedSliceD) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator StridedSliceGradD. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use StridedSliceGrad instead. | |||
| */ | |||
| REG_OP(StridedSliceGradD) | |||
| .INPUT(dy, TensorType::BasicType()) | |||
| @@ -503,9 +491,6 @@ REG_OP(UnsortedSegmentSum) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator UnsortedSegmentSum. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use UnsortedSegmentSum instead. | |||
| */ | |||
| REG_OP(UnsortedSegmentSumD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT32, DT_INT8, DT_UINT8})) | |||
| @@ -730,9 +715,6 @@ REG_OP(OneHot) | |||
| *@par Third-party framework compatibility: | |||
| * Compatible with the TensorFlow operator OneHot. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use OneHot instead. | |||
| */ | |||
| REG_OP(OneHotD) | |||
| .INPUT(x, TensorType({DT_UINT8, DT_INT32})) | |||
| @@ -808,7 +790,7 @@ REG_OP(SliceD) | |||
| * @li assist_seq: A 1D tensor of type float16. | |||
| * with size of 2N, which "N" is the last dimension. | |||
| * The first N numbers is indices, and the next N numbers is deviation of casting | |||
| * int32 to float16. \n | |||
| * float16 to int32 . \n | |||
| * @par Attributes: | |||
| * @li k: A required int that is at least 0, specifying the number of top elements | |||
| @@ -817,7 +799,7 @@ REG_OP(SliceD) | |||
| * If true, the resulting "k" elements will be sorted by the values in descending | |||
| * order. | |||
| * @li dim: An optional int. Defaults to -1. For reserved use. | |||
| * @li largest: An optional bool. Defaults to true. For reserved use. \n | |||
| * @li largest: An optional bool. Defaults to true. For reserved use. | |||
| * @par Outputs: | |||
| * @li values: A Tensor, specifying the sorted data. Has the same type as "input". | |||
| @@ -1280,9 +1262,6 @@ REG_OP(InplaceUpdate) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator InplaceUpdate. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use InplaceUpdate instead. | |||
| */ | |||
| REG_OP(InplaceUpdateD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT32})) | |||
| @@ -1335,9 +1314,6 @@ REG_OP(InplaceAdd) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator InplaceAdd. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use InplaceAdd instead. | |||
| */ | |||
| REG_OP(InplaceAddD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT32})) | |||
| @@ -1389,9 +1365,6 @@ REG_OP(InplaceSub) | |||
| *@par Third-party framework compatibility | |||
| *Compatible with the TensorFlow operator InplaceSub. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use InplaceSub instead. | |||
| */ | |||
| REG_OP(InplaceSubD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT32})) | |||
| @@ -1443,9 +1416,6 @@ REG_OP(ScatterNonAliasingAdd) | |||
| * @par Outputs: | |||
| * y: A Tensor of type RealNumberType . \n | |||
| * @attention Constraints: | |||
| * @li segment_ids must be non-negative tensor. | |||
| * @see UnsortedSegmentSum(), UnsortedSegmentProd(), | |||
| * @par Third-party framework compatibility | |||
| @@ -1473,9 +1443,6 @@ REG_OP(UnsortedSegmentMin) | |||
| * @par Outputs: | |||
| * y: A Tensor.Must have the same type as input "x" . \n | |||
| * @attention Constraints: | |||
| * @li segment_ids must be non-negative tensor. | |||
| * @see UnsortedSegmentProdD(), UnsortedSegmentSumD(), | |||
| * | |||
| * @par Restrictions: | |||
| @@ -1501,9 +1468,6 @@ REG_OP(UnsortedSegmentMinD) | |||
| * @par Outputs: | |||
| * y: A Tensor of type RealNumberType . \n | |||
| * @attention Constraints: | |||
| * @li segment_ids must be non-negative tensor. | |||
| * @see UnsortedSegmentSum(), UnsortedSegmentProd(), | |||
| * @par Third-party framework compatibility | |||
| @@ -1531,9 +1495,6 @@ REG_OP(UnsortedSegmentMax) | |||
| * @par Outputs: | |||
| * y: A Tensor.Must have the same type as input "x" . \n | |||
| * @attention Constraints: | |||
| * @li segment_ids must be non-negative tensor. | |||
| * @see UnsortedSegmentProdD(), | |||
| * | |||
| * @par Restrictions: | |||
| @@ -1558,9 +1519,6 @@ REG_OP(UnsortedSegmentMaxD) | |||
| * @par Outputs: | |||
| * y: A Tensor of type NumberType . \n | |||
| * @attention Constraints: | |||
| * @li segment_ids must be non-negative tensor. | |||
| * @see UnsortedSegmentSum(), UnsortedSegmentMin(), | |||
| * @par Third-party framework compatibility | |||
| @@ -1592,9 +1550,6 @@ REG_OP(UnsortedSegmentProd) | |||
| * @li segment_ids must be non-negative tensor. | |||
| * @see UnsortedSegmentMinD() | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use UnsortedSegmentProd instead. | |||
| */ | |||
| REG_OP(UnsortedSegmentProdD) | |||
| .INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT32, DT_INT16})) | |||
| @@ -1910,9 +1865,6 @@ REG_OP(CumulativeLogsumexp) | |||
| *y: A Tensor. Has the same type as "x". | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator Cumsum. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use CumulativeLogsumexp instead. | |||
| */ | |||
| REG_OP(CumulativeLogsumexpD) | |||
| .INPUT(x, TensorType({DT_DOUBLE, DT_FLOAT, DT_FLOAT16})) | |||
| @@ -75,9 +75,6 @@ REG_OP(Split) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator Split. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use Split instead. | |||
| */ | |||
| REG_OP(SplitD) | |||
| .INPUT(x, TensorType({DT_INT8, DT_INT16, DT_INT32, DT_INT64, DT_UINT8, | |||
| @@ -144,9 +141,6 @@ Under the caffe framework, the conversion of slice_point through the cut point t | |||
| Under the caffe framework,size_splits or axis transformat to split_dim.Only one can effect. | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator SplitV. | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use SplitV instead. | |||
| */ | |||
| REG_OP(SplitVD) | |||
| .INPUT(x, TensorType({DT_INT8, DT_INT16, DT_INT32, DT_INT64, DT_UINT8, | |||
| @@ -164,8 +158,7 @@ REG_OP(SplitVD) | |||
| * Two inputs, including: | |||
| * @li values: A list of Tensors. Must be one of the following types: int8, int16, int32, | |||
| * int64, uint8, uint16, uint32, uint64, float16, float32. | |||
| * Tensors to be concatenated. All must have size 1 in the first dimension and same shape. | |||
| * It's a dynamic input. | |||
| * Tensors to be concatenated. All must have size 1 in the first dimension and same shape. | |||
| * @li shape: A Tensor of the same type as "x". | |||
| * The final shape of the result. Should be equal to the shapes of any input | |||
| * but with the number of input values in the first dimension . \n | |||
| @@ -314,7 +307,7 @@ REG_OP(Concat) | |||
| *@par Inputs: | |||
| * x: A list of N Tensors. Must be one of the following types: int8, int16, int32, | |||
| * int64, uint8, uint16, uint32, uint64, float16, float32, bool . It's a dynamic input. \n | |||
| * int64, uint8, uint16, uint32, uint64, float16, float32, bool . \n | |||
| *@par Attributes: | |||
| *@li axis: A optional int, defaultvalue is 0. | |||
| @@ -340,7 +333,7 @@ REG_OP(Pack) | |||
| *@par Inputs: | |||
| *Two inputs, including: | |||
| * @li concat_dim: A Tensor of type int32. | |||
| * @li x: A list of 1D Tensor objects of type int32 . It's a dynamic input. \n | |||
| * @li x: A list of 1D Tensor objects of type int32 . \n | |||
| *@par Attributes: | |||
| *N: A required int . \n | |||
| @@ -364,7 +357,7 @@ REG_OP(ConcatOffset) | |||
| *@par Inputs: | |||
| *Two inputs, including: | |||
| * @li concat_dim: A Tensor of type int32. | |||
| * @li x: A list of 1D Tensor objects of type int32 . It's a dynamic input. \n | |||
| * @li x: A list of 1D Tensor objects of type int32 . \n | |||
| *@par Attributes: | |||
| *@li Concat_dim: A required int. Must be within the rank of input "x". | |||
| @@ -235,12 +235,8 @@ REG_OP(BatchToSpaceND) | |||
| *@par Outputs: | |||
| *y: A Tensor with format NC1HWC0. Has the same type as input "x". | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator BatchToSpaceND. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use BatchToSpaceND instead. | |||
| */ | |||
| REG_OP(BatchToSpaceNDD) | |||
| .INPUT(x, TensorType::BasicType()) | |||
| @@ -287,9 +283,6 @@ REG_OP(SpaceToBatchND) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator SpaceToBatchND. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use SpaceToBatchND instead. | |||
| */ | |||
| REG_OP(SpaceToBatchNDD) | |||
| .INPUT(x, TensorType::BasicType()) | |||
| @@ -411,9 +404,6 @@ REG_OP(BatchToSpace) | |||
| *@par Third-party framework compatibility | |||
| * Compatible with the TensorFlow operator BatchToSpace. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use BatchToSpace instead. | |||
| */ | |||
| REG_OP(BatchToSpaceD) | |||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_INT64, DT_INT32, DT_UINT8, | |||
| @@ -467,9 +457,6 @@ REG_OP(SpaceToBatch) | |||
| *y: A Tensor. Has the same type as input "x". | |||
| *@par Third-party framework compatibility | |||
| *@ Compatible with the TensorFlow operator SpaceToBatch. | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use SpaceToBatch instead. | |||
| */ | |||
| REG_OP(SpaceToBatchD) | |||
| .INPUT(x, TensorType::BasicType()) | |||
| @@ -598,9 +585,6 @@ REG_OP(ExtractVolumePatches) | |||
| *@par Outputs: | |||
| *y: A Tensor. Has the same type as "x". | |||
| * | |||
| * @par Restrictions: | |||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use ConfusionTranspose instead. | |||
| */ | |||
| REG_OP(ConfusionTransposeD) | |||
| .INPUT(x, TensorType({DT_INT8, DT_INT16, DT_INT32, DT_INT64, DT_UINT8, | |||
| @@ -1,12 +1,18 @@ | |||
| /** | |||
| * @file adx_datadump_server.h | |||
| * | |||
| * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. | |||
| * | |||
| * This program is distributed in the hope that it will be useful, | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |||
| */ | |||
| * Copyright 2019-2020 Huawei Technologies Co., Ltd | |||
| * | |||
| * 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 ADX_DATADUMP_SERVER_H | |||
| #define ADX_DATADUMP_SERVER_H | |||