• J
    Add viterbi decode (#35778) (#36615) · 1906c746
    Jack Zhou 提交于
    * add viterbi decode cpu kernel
    
    * add viterbi decoder api in paddle.text
    
    * add a data buffer once to avoid create many small pieces of data buffer frequently
    
    * fix viterbi max_seq_length bug
    
    * fix seq_len=1 bug
    
    * fix device context
    
    * move split out of for loop
    
    * remove INVERSE_SUB
    
    * remove 2 GET_CAST_MASK
    
    * remove 1 loop
    
    * remove Functor
    
    * add to_static deploy code
    
    * use MAX_FUNC instead of ELE_MAX
    
    * add MaxFunctor
    
    * impl max_func
    
    * remove MaxFunctor
    
    * remove cast op
    
    * use REGISTER_OP_WITHOUT_GRADIENT
    
    * add viterbi cuda kernel
    
    * add FIX_BLOCKDIM_CASE macro
    
    * add MKL add, mul; add get data mask
    
    * add arange mkl impl
    
    * add CPU Argmax
    
    * add cpu gather
    
    * use EXECUTE_MKL_ELEMENT_BINARY_OP instead of some ADD, MUL
    
    * use SameDimsBinaryOP instead of EXECUTE_MKL_ELEMENT_BINARY_OP
    
    * use SAME_DIMS_ELEMENT_BINARY_OP
    
    * add SimpleBroadcastBinaryOP
    
    * use int instead of int64_t to accelerate
    
    * optimize SimpleBroadcastBinaryOP
    
    * optimize SimpleBroadcastBinaryOP
    
    * optimize performance in both single thread and multithread situation
    
    * remove useless line
    
    * remove useless code
    
    * add CREATE_TENSOR_BUFFER macro
    
    * add INIT_REQUIRED_TENSOR macro
    
    * add comment
    
    * fix windows ci
    
    * add viterbi unittest
    
    * remove cuda add functor
    
    * remove cuda equal
    
    * remove a template function
    
    * fix windows ci
    
    * fix windows dtype
    
    * remove some template instance
    
    * remove useless header file
    
    * remove some blockdim
    
    * remove transpose impl
    
    * accelerate cpu performance on single thread situation
    
    * viterbi_decode->crf_decode
    
    * rename crf params name
    
    * add viterbi api test
    
    * remove useless import
    
    * add enable_static
    
    * use viterbi decoder
    
    * fix viterbi len=1
    
    * fix  viterbi unittest
    
    * remove useless comments
    
    * reconstruct viterbi decode
    
    * remove ADD,SUB,MUL structure
    
    * fix coverage
    
    * remove CREATE_TENSOR
    
    * add name args
    
    * crf.py->ops.py; with_start_stop_tag->include_start_end_tag
    
    * update crf_decode en docs
    
    * fix viterbi decode en docs
    
    * fix some review comments
    
    * add FIXED_BLOCK_DIM_CASE in cuda
    
    * push_back->emplace_back
    
    * crf_decode->viterbi_decode; include_start_end_tag->include_bos_eos_tag
    
    * paddle.text.ops.viterbi_decode->paddle.text.viterbi_decode
    
    * fix viterbi_decode en docs
    1906c746
elementwise_op_function.h 107.1 KB