이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

방언 & # 39; tfl & # 39; 정의

TensorFlow Lite 방언.

이 언어는 TensorFlow Lite 작업에 매핑됩니다.

불변량 :

  • 모든 값은 텐서 유형입니다 (특히 스칼라는 0 차원 텐서를 사용하여 표시됨).

작업 정의

tfl.abs (TFL :: AbsOp)

절대 값 연산자

기술:

텐서 x 주어지면이 연산은 x 에있는 각 요소의 절대 값을 포함하는 텐서를 반환합니다. 예를 들어, x가 입력 요소이고 y가 출력 요소 인 경우이 연산은 \ (y = | x | \)를 계산합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.add_n (TFL :: AddNOp)

add_n 연산자

기술:

모든 입력 텐서를 요소별로 추가합니다.

피연산자 :

  1. inputs : 모든 유형 값의 텐서

속성 :

결과 :

  1. sum : 모든 유형 값의 텐서

tfl.add (TFL :: AddOp)

덧셈 연산자

기술:

요소 별 덧셈 연산.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
fused_activation_function StringAttr 융합 활성화 열거 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.arg_max (TFL :: ArgMaxOp)

ArgMax 연산자

기술:

텐서의 차원에서 가장 큰 값을 가진 인덱스를 반환합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. dim : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
output_type Attribute 파생 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.arg_min (TFL :: ArgMinOp)

ArgMin 연산자

기술:

텐서의 차원에서 가장 작은 값을 가진 인덱스를 반환합니다. "a = [1, 10, 26.9, 2.8, 166.32, 62.3] b = tf.math.argmin (input = a) c = tf.keras.backend.eval (비)

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. dim : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
output_type Attribute 파생 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.average_pool_2d (TFL :: AveragePool2DOp)

Average_pool_2d 연산자

기술:

입력에서 평균 풀링 작업을 수행합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
filter_height IntegerAttr 32 비트 정수 속성 속성
filter_width IntegerAttr 32 비트 정수 속성 속성
padding StringAttr 패딩 열거 형 속성
stride_h IntegerAttr 32 비트 정수 속성 속성
stride_w IntegerAttr 32 비트 정수 속성 속성
fused_activation_function StringAttr 융합 활성화 열거 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.basic_lstm (TFL :: BasicLSTMOp)

기본 LSTM 연산자

기술:

기본 LSTM 셀 오퍼레이터.

피연산자 :

  1. data_input : 모든 유형 값의 텐서
  2. prev_activ_input : 모든 유형 값의 텐서
  3. weights_input : 모든 유형 값의 텐서
  4. biases_input : 모든 유형 값의 텐서
  5. prev_state_input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
fused_activation_function StringAttr 융합 활성화 열거 속성
cell_clip FloatAttr 32 비트 부동 속성 속성
proj_clip FloatAttr 32 비트 부동 속성 속성
kernel_type StringAttr lstm 커널 유형 열거 케이스 기본 속성

결과 :

  1. activ_output : 모든 유형 값의 2D 텐서
  2. state_output : 모든 유형 값의 2D 텐서
  3. concat_temp : 모든 유형 값의 2D 텐서
  4. activ_temp : 모든 유형 값의 2D 텐서

tfl.batch_to_space_nd (TFL :: BatchToSpaceNdOp)

BatchToSpaceNd 연산자

기술:

이 작업은 "배치"치수 0을 공간 치수로 재구성합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. block_shape : 모든 유형 값의 텐서
  3. indices : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.cast (TFL :: CastOp)

캐스트 연산자

기술:

입력 유형에서 출력 유형으로 입력을 캐스트합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.ceil (TFL :: CeilOp)

Ceil 연산자

기술:

입력의 요소 별 ceil 값을 반환합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.concatenation (TFL :: ConcatenationOp)

연결 연산자

기술:

1 차원을 따라 텐서를 연결

피연산자 :

  1. values : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
axis IntegerAttr 32 비트 정수 속성 속성
fused_activation_function StringAttr 융합 활성화 열거 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.pseudo_const (TFL :: ConstOp)

상수 의사 op.

기술:

TensorFlow Lite 언어의 상수 값을 나타냅니다. 이것은 실제 작업이 아니며 대신 버퍼로 낮추어집니다.

op는 tf.Const와 동일한 유형의 속성을 모두 가질 수 있습니다 (예 : 불투명 한 TF 속성이 허용됨).

피연산자 :

속성 :

속성 MLIR 유형 기술
value ElementsAttr 상수 벡터 / 텐서 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.conv_2d (TFL :: Conv2DOp)

컨볼 루션 연산자

기술:

입력에서 컨볼 루션 작업을 수행합니다.

입력 : inputs[0] : 필수 : ​​입력 활성화 텐서 inputs[1] : 필수 : ​​필터 중량 텐서 inputs[2] : 옵션 : 바이어스 텐서

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. filter : 모든 유형 값의 텐서
  3. bias : 모든 유형 값의 텐서 또는 없음 유형

속성 :

속성 MLIR 유형 기술
dilation_h_factor IntegerAttr 32 비트 정수 속성 속성
dilation_w_factor IntegerAttr 32 비트 정수 속성 속성
fused_activation_function StringAttr 융합 활성화 열거 속성
padding StringAttr 패딩 열거 형 속성
stride_h IntegerAttr 32 비트 정수 속성 속성
stride_w IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.convolution_2d_transpose_bias (TFL :: Convolution2DTransposeBiasOp)

바이어스 연산자로 컨볼 루션 전치

기술:

바이어스를 추가하는 옵션을 사용하여 입력에서 전치 컨벌루션 작업을 수행합니다. 이는 표준 런타임에서 지원되지 않는 사용자 지정 op입니다.

 Inputs:
  `inputs[0]`: required: the input activation tensor
  `inputs[1]`: required: the filter weight tensor
  `inputs[2]`: optional: the bias tensor
 

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. filter : 모든 유형 값의 텐서
  3. bias : 모든 유형 값의 텐서 또는 없음 유형

속성 :

속성 MLIR 유형 기술
padding StringAttr 패딩 열거 형 속성
stride_h IntegerAttr 32 비트 정수 속성 속성
stride_w IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.cos (TFL :: CosOp)

코사인 연산자

기술:

입력의 요소 별 코사인을 계산합니다

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.densify (TFL :: DensifyOp)

치밀화 연산자

기술:

스파 스 텐서를 조밀 한 형식으로 변환합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.depth_to_space (TFL :: DepthToSpaceOp)

DepthToSpace 연산자

기술:

깊이에서 공간 데이터 블록으로 데이터를 재정렬합니다. 이것은 SpaceToDepth의 역변환입니다. 보다 구체적으로,이 op는 depth 차원의 값이 공간 블록에서 heightwidth 차원으로 이동되는 입력 텐서의 사본을 출력합니다. attr block_size 는 입력 블록 크기와 데이터 이동 방법을 나타냅니다.

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
block_size IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.depthwise_conv_2d (TFL :: DepthwiseConv2DOp)

깊이 분리 가능한 컨벌루션 연산자

기술:

입력에 대한 컨볼 루션 작업을 수행합니다.

입력 : inputs[0] : 필수 : ​​입력 활성화 텐서 inputs[1] : 필수 : ​​필터 중량 텐서 inputs[2] : 옵션 : 바이어스 텐서

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. filter : 모든 유형 값의 텐서
  3. bias : 모든 유형 값의 텐서 또는 없음 유형

속성 :

속성 MLIR 유형 기술
dilation_h_factor IntegerAttr 32 비트 정수 속성 속성
dilation_w_factor IntegerAttr 32 비트 정수 속성 속성
fused_activation_function StringAttr 융합 활성화 열거 속성
padding StringAttr 패딩 열거 형 속성
stride_h IntegerAttr 32 비트 정수 속성 속성
stride_w IntegerAttr 32 비트 정수 속성 속성
depth_multiplier IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl. 역 양자화 (TFL :: DequantizeOp)

역 양자화 연산자

기술:

양자화 매개 변수에 따라 양자화 된 정수 배열을 부동 소수점으로 변환합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.div (TFL :: DivOp)

부서 운영자

기술:

요소 별 분할 연산.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
fused_activation_function StringAttr 융합 활성화 열거 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.elu (TFL :: EluOp)

지수 선형 단위 연산자

기술:

x <0의 경우 지수 선형 f (x)-> exp (x)-1, x> = 0의 경우 x를 요소 단위로 계산합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.embedding_lookup (TFL :: EmbeddingLookupOp)

내장 조회 연산자

기술:

임베딩 텐서 목록에서 ID를 찾습니다.

피연산자 :

  1. lookup : 모든 유형 값의 텐서
  2. value : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.equal (TFL :: EqualOp)

동등한 연산자

기술:

x == y의 진리 요소를 요소 단위로 리턴합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서
  2. y : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.exp (TFL :: ExpOp)

자연 지수 연산자

기술:

입력에 대해 요소 별 자연 지수 연산을 수행합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.expand_dims (TFL :: ExpandDimsOp)

1의 치수를 텐서 모양에 삽입합니다.

기술:

텐서 input 이 주어지면이 작업은 input 모양의 차원 인덱스 axis 에 차원 1을 삽입합니다. 차원 인덱스 axis 0에서 시작합니다. axis 음수를 지정하면 끝에서 뒤로 계산됩니다.

이 작업은 단일 요소에 배치 차원을 추가하려는 경우에 유용합니다. 예를 들어, 모양 [height, width, channels] 의 단일 이미지가있는 경우 expand_dims(image, 0) 을 사용하여 모양을 [1, height, width, channels] .

다른 예 :

 # 't' is a tensor of shape [2]
shape(expand_dims(t, 0)) ==> [1, 2]
shape(expand_dims(t, 1)) ==> [2, 1]
shape(expand_dims(t, -1)) ==> [2, 1]

# 't2' is a tensor of shape [2, 3, 5]
shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]
shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]
shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]
 

이 작업에는 다음이 필요합니다.

-1-input.dims() <= dim <= input.dims()

이 작업은 크기 1의 크기를 제거하는 squeeze() 와 관련이 있습니다.

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. dim : 모든 정수 유형의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.external_const (TFL :: ExternalConstOp)

외부 구성 op.

기술:

외부 const op는 buffer_index 의 상수를 가리키는 buffer_index 를 보유합니다.

피연산자 :

속성 :

속성 MLIR 유형 기술
buffer_index IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.fake_quant (TFL :: FakeQuantOp)

FakeQuant 연산자

기술:

float 스칼라를 통해 float 유형의 '입력'텐서를 min 및 max와 입력과 동일한 모양의 '출력'텐서를 가짜 양자화합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
min FloatAttr 32 비트 부동 속성 속성
max FloatAttr 32 비트 부동 속성 속성
num_bits IntegerAttr 32 비트 정수 속성 속성
narrow_range BoolAttr 부울 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.fill (TFL :: FillOp)

주어진 값으로 텐서를 채우십시오.

기술:

주어진 값으로 텐서를 채우십시오.

피연산자 :

  1. dims : 모든 유형 값의 텐서
  2. value : 모든 유형 값의 텐서

속성 :

결과 :

  1. res : 모든 유형 값의 텐서

tfl.floor_div (TFL :: FloorDivOp)

플로어 div 연산자

기술:

요소 별 플로어 div 작업.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.floor_mod (TFL :: FloorModOp)

부서 알림

기술:

요소 별 구분 알림 작업.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.floor (TFL :: FloorOp)

층 운영자

기술:

입력의 요소 별 바닥 값을 반환합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.fully_connected (TFL :: FullyConnectedOp)

완전히 연결된 op

기술:

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. filter : 모든 유형 값의 텐서
  3. bias : 모든 유형 값의 텐서 또는 없음 유형

속성 :

속성 MLIR 유형 기술
fused_activation_function StringAttr 융합 활성화 열거 속성
weights_format StringAttr 완전히 연결된 옵션 가중치 형식 속성
keep_num_dims BoolAttr 부울 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.gather_nd (TFL :: GatherNdOp)

Gather_nd 연산자

기술:

indices 지정된 모양의 params 에서 Tensor로 슬라이스를 수집하십시오.

피연산자 :

  1. params : 모든 유형 값의 텐서
  2. indices : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.gather (TFL :: GatherOp)

운영자 수집

기술:

indices 에 따라 paramsaxis 에서 슬라이스를 수집합니다.

피연산자 :

  1. params : 모든 유형 값의 텐서
  2. indices : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
axis IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.greater_equal (TFL :: GreaterEqualOp)

Greater_equal 연산자

기술:

요소 별 great_equal 연산

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.greater (TFL :: GreaterOp)

더 큰 연산자

기술:

요소별로 더 큰 작업.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.hard_swish (TFL :: HardSwishOp)

Hardswish 활성화 기능.

기술:

하드 스위시 활성화 함수 f (x)-> (x * relu6 (x + 3)) / 6을 요소 단위로 계산합니다.

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

결과 :

  1. out : 모든 유형 값의 텐서

tfl.l2_normalization (TFL :: L2NormalizationOp)

L2 정규화 연산자

기술:

L2 정규화 연산

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
fused_activation_function StringAttr 융합 활성화 열거 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.lstm (TFL :: LSTMOp)

전체 LSTM 연산자

기술:

LSTM (long short-term memory unit) 반복 네트워크 계층. peephole이 아닌 기본 구현은 http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf S. Hochreiter 및 J. Schmidhuber를 기반으로합니다. "장기 단기 기억". 신경 계산, 9 (8) : 1735-1780, 1997. 들여다 보는 구멍 구현은 https://research.google.com/pubs/archive/43905.pdf Hasim Sak, Andrew Senior 및 Francoise Beaufays를 기반으로합니다. "대규모 음향 모델링을위한 장기 단기 메모리 재발 신경망 아키텍처. INTERSPEECH, 2014. CIFG (Input and forget Gate)의 결합은 다음을 기반으로합니다. http://arxiv.org/pdf/1503.04069.pdf Greff et al "LSTM : 검색 공간 오디세이"계층 정규화는 다음을 기반으로합니다 : https://arxiv.org/pdf/1607.06450.pdf Ba et al. "Layer Normalization"

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. input_to_input_weights : 모든 유형 값의 텐서 또는 유형 없음
  3. input_to_forget_weights : 모든 유형 값의 텐서
  4. input_to_cell_weights : 모든 유형 값의 텐서
  5. input_to_output_weights : 모든 유형 값의 텐서
  6. recurrent_to_input_weights : 모든 유형 값의 텐서 또는 유형 없음
  7. recurrent_to_forget_weights : 모든 유형 값의 텐서
  8. recurrent_to_cell_weights : 모든 유형 값의 텐서
  9. recurrent_to_output_weights : 모든 유형 값의 텐서
  10. cell_to_input_weights : 모든 유형 값의 텐서 또는 유형 없음
  11. cell_to_forget_weights : 모든 유형 값의 텐서 또는 유형 없음
  12. cell_to_output_weights : 모든 유형 값의 텐서 또는 유형 없음
  13. input_gate_bias : 모든 유형 값의 텐서 또는 없음 유형
  14. forget_gate_bias : 모든 유형 값의 텐서
  15. cell_bias : 모든 유형 값의 텐서
  16. output_gate_bias : 모든 유형 값의 텐서
  17. projection_weights : 모든 유형 값의 텐서 또는 유형 없음
  18. projection_bias : 모든 유형 값의 텐서 또는 없음 유형
  19. input_activation_state : 상태 저장 텐서
  20. input_cell_state : 상태 저장 텐서
  21. input_layer_norm_coefficients : 모든 유형 값의 텐서 또는 유형 없음
  22. forget_layer_norm_coefficients : 모든 유형 값의 텐서 또는 유형 없음
  23. cell_layer_norm_coefficients : 모든 유형 값의 텐서 또는 유형 없음
  24. output_layer_norm_coefficients : 모든 유형 값의 텐서 또는 유형 없음

속성 :

속성 MLIR 유형 기술
fused_activation_function StringAttr 융합 활성화 열거 속성
cell_clip FloatAttr 32 비트 부동 속성 속성
proj_clip FloatAttr 32 비트 부동 속성 속성
kernel_type StringAttr lstm 커널 유형 열거 케이스 FULL 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.leaky_relu (TFL :: LeakyReluOp)

새기 쉬운 Relu 연산자

기술:

요소 별 누출 ReLU 연산자 x-> x> = 0? x : (알파 * x)

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
alpha FloatAttr 32 비트 부동 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.less_equal (TFL :: LessEqualOp)

Less_equal 연산자

기술:

요소 별 less_equal 연산

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.less (TFL :: LessOp)

적은 운영자

기술:

요소 별 작업이 적습니다.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.local_response_normalization (TFL :: LocalResponseNormalizationOp)

로컬 응답 정규화.

기술:

4 차원 input 텐서는 1 차원 벡터 (마지막 차원)의 3 차원 배열로 취급되며 각 벡터는 독립적으로 정규화됩니다. 주어진 벡터 내에서 각 구성 요소는 depth_radius 내의 가중 제곱 입력 합으로 depth_radius . 상세히,

 sqr_sum[a, b, c, d] =
    sum(input[a, b, c, d - depth_radius : d + depth_radius + 1] ** 2)
output = input / (bias + alpha * sqr_sum) ** beta
 

자세한 내용은 Krizhevsky et al., 심층 회선 신경망을 사용한 ImageNet 분류 (NIPS 2012)를 참조하십시오 .

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
radius IntegerAttr 32 비트 정수 속성 속성
bias FloatAttr 32 비트 부동 속성 속성
alpha FloatAttr 32 비트 부동 속성 속성
beta FloatAttr 32 비트 부동 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.log (TFL :: LogOp)

자연 로그 연산자

기술:

입력에 대해 요소 별 자연 로그 연산을 수행합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.log_softmax (TFL :: LogSoftmaxOp)

로그 softmax 연산자

기술:

다음 공식을 사용하여 요소 별 로그 softmax 활성화를 계산합니다

입력-log (reduce_sum (exp (input), dim))

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.logical_and (TFL :: LogicalAndOp)

논리 AND 연산자

기술:

요소 별 논리 AND 연산.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.logical_not (TFL :: LogicalNotOp)

논리 NOT 연산자

기술:

요소 별 논리 NOT 연산.

피연산자 :

  1. lhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.logical_or (TFL :: LogicalOrOp)

논리 OR 연산자

기술:

요소 별 논리 OR 연산.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.logistic (TFL :: LogisticOp)

물류 연산자

기술:

입력의 요소 별 Sigmoid를 계산합니다

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.matrix_diag (TFL :: MatrixDiagOp)

 Returns a tensor with the provided diagonal and everything else padded with zeros.
 

기술:

대각선이 주어지면 대각선이 있고 다른 모든 것이 0으로 채워진 텐서를 반환합니다. 대각선이 k의 크기 [I, J, K, ..., N] 가지고 있다고 가정하면, 출력은 크기가 [I, J, K, ..., N, N] k+1 순위의 텐서 [I, J, K, ..., N, N] 합니다 [I, J, K, ..., N, N] 여기서 : output[i, j, k, ..., m, n] = 1{m=n} * diagonal[i, j, k, ..., n].

피연산자 :

  1. diagonal : 모든 유형 값의 텐서

속성 :

결과 :

  1. output : 모든 유형 값의 텐서

tfl.matrix_set_diag (TFL :: MatrixSetDiagOp)

 Returns a batched matrix tensor with new batched diagonal values.
 

기술:

inputdiagonal 이 주어지면이 연산은 가장 안쪽 행렬의 주 대각선을 제외하고 input 과 동일한 모양과 값을 가진 텐서를 반환합니다. 이들 값은 diagonal 의 값으로 덮어 씁니다.

피연산자 :

  1. input : 32 비트 부동 소수점 또는 32 비트 정수 또는 64 비트 정수 또는 8 비트 정수 또는 QI8 유형 또는 QI16 유형 또는 QUI8 유형 또는 TFLite uint8 유형 또는 TFLite quint8 유형 값의 텐서
  2. diagonal : 32 비트 부동 소수점 또는 32 비트 정수 또는 64 비트 정수 또는 8 비트 정수 또는 QI8 유형 또는 QI16 유형 또는 QUI8 유형 또는 TFLite uint8 유형 또는 TFLite quint8 유형 값의 텐서

속성 :

결과 :

  1. output : 32 비트 부동 소수점 또는 32 비트 정수 또는 64 비트 정수 또는 8 비트 정수 또는 QI8 유형 또는 QI16 유형 또는 QUI8 유형 또는 TFLite uint8 유형 또는 TFLite quint8 유형 값의 텐서

tfl.max_pool_2d (TFL :: MaxPool2DOp)

최대 풀 2D op

기술:

입력시 최대 풀 2D를 수행합니다.

입력 : inputs[0] : 필수 : ​​입력 텐서

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
padding StringAttr 패딩 열거 형 속성
stride_w IntegerAttr 32 비트 정수 속성 속성
stride_h IntegerAttr 32 비트 정수 속성 속성
filter_width IntegerAttr 32 비트 정수 속성 속성
filter_height IntegerAttr 32 비트 정수 속성 속성
fused_activation_function StringAttr 융합 활성화 열거 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.max_pooling_with_argmax_2d (TFL :: MaxPoolingWithArgMax2DOp)

argmax op를 사용한 Max Pool 2D

기술:

입력에서 최대 풀링을 수행하고 최대 값과 인덱스를 모두 출력합니다. 각 인덱스는 "filter_w"x "filter_h"크기의 하위 배열에있는 평평한 인덱스입니다. 참고 표준 런타임에서는 지원되지 않는 사용자 지정 op입니다.

입력 : inputs[0] : 필수 : ​​입력 활성화 텐서

피연산자 :

  1. input : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
padding StringAttr 패딩 열거 형 속성
stride_w IntegerAttr 32 비트 정수 속성 속성
stride_h IntegerAttr 32 비트 정수 속성 속성
filter_w IntegerAttr 32 비트 정수 속성 속성
filter_h IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. value : 모든 유형 값의 텐서
  2. indices : 모든 유형 값의 텐서

tfl.max_unpooling_2d (TFL :: MaxUnpooling2DOp)

최대 풀 풀 2D

기술:

최대 풀링 작업을 수행합니다. 어느 정도까지 이것은 최대 풀링의 역 동작입니다. 입력 활성화 텐서의 요소는 입력 인덱스로 지정된 위치에 저장됩니다. 이는 표준 런타임에서 지원되지 않는 사용자 지정 op입니다.

입력 : inputs[0] : 필수 : ​​입력 활성화 텐서 inputs[1] : 필수 : ​​입력 인덱스

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. indices : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
padding StringAttr 패딩 열거 형 속성
stride_w IntegerAttr 32 비트 정수 속성 속성
stride_h IntegerAttr 32 비트 정수 속성 속성
filter_w IntegerAttr 32 비트 정수 속성 속성
filter_h IntegerAttr 32 비트 정수 속성 속성

결과 :

  1. outputs : 모든 유형 값의 텐서

tfl.maximum (TFL :: MaximumOp)

최대 연산자

기술:

요소 별 최대 작업.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. max : 모든 유형 값의 텐서

tfl.mean (TFL :: MeanOp)

평균 연산자

기술:

텐서의 차원에서 요소의 평균을 계산합니다. 축에 지정된 치수를 따라 input_tensor를 줄입니다. keepdims가 true가 아닌 한 텐서의 순위는 축의 각 항목마다 1 씩 줄어 듭니다. keepdims가 true이면 축소 된 치수는 길이 1로 유지됩니다.

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. axis : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
keep_dims BoolAttr 부울 속성 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.minimum (TFL :: MinimumOp)

최소 연산자

기술:

요소 별 최소 작업.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

결과 :

  1. min : 모든 유형 값의 텐서

tfl.mirror_pad (TFL :: MirrorPadOp)

미러 패드 운영자. 미러 된 값으로 텐서를 채 웁니다.

기술:

이 작업은 지정한 패딩에 따라 미러링 된 값으로 입력을 채 웁니다. 패딩은 모양 [n, 2]의 정수 텐서이며, 여기서 n은 입력 순위입니다. 입력의 각 차원 D에 대해 paddings [D, 0]은 해당 차원의 입력 내용 앞에 추가 할 값 수를 나타내고, paddings [D, 1]은 해당 차원의 입력 내용 뒤에 추가 할 값 수를 나타냅니다.

copy_border가 true 인 경우 (각각 false 인 경우) paddings [D, 0] 및 paddings [D, 1]은 input.dim_size (D) (또는 input.dim_size (D)-1)보다 크지 않아야합니다.

출력의 각 치수 D의 패딩 크기는 다음과 같습니다.

패딩 (D, 0) + 입력 치수 _ 크기 (D) + 패딩 (D, 1)

피연산자 :

  1. input : 모든 유형 값의 텐서
  2. pad : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
mode StringAttr 미러 패드 열거 형 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.mul (TFL :: MulOp)

곱셈 연산자

기술:

요소 별 곱셈 연산.

피연산자 :

  1. lhs : 모든 유형 값의 텐서
  2. rhs : 모든 유형 값의 텐서

속성 :

속성 MLIR 유형 기술
fused_activation_function StringAttr 융합 활성화 열거 속성

결과 :

  1. output : 모든 유형 값의 텐서

tfl.neg (TFL :: NegOp)

부정 연산자

기술:

요소 별 입력 부정을 계산합니다.

피연산자 :

  1. x : 모든 유형 값의 텐서

속성 :

결과 :

  1. y : 모든 유형 값의 텐서

tfl.non_max_suppression_v4 (TFL :: NonMaxSuppressionV4Op)

점수의 내림차순으로 경계 상자의 하위 집합을 탐욕스럽게 선택합니다.

기술:

높은 IOU (교집합 교차)가있는 상자를 제거하면 이전에 선택한 상자와 겹칩니다. score_threshold 보다 score_threshold 점수를 가진 경계 상자가 제거됩니다. 경계 상자는 [y1, x1, y2, x2]로 제공되며, 여기서 (y1, x1) 및 (y2, x2)는 모든 대각선 상자 모서리 쌍의 좌표이며 좌표는 정규화 된대로 제공 할 수 있습니다 (즉, 간격 [0, 1]) 또는 절대 값. 이 알고리즘은 원점이 좌표계에있는 위치와 무관하며, 일반적으로 좌표계의 직교 변환 및 변환에는 변하지 않습니다. 따라서 좌표계의 변환 또는 반사는 알고리즘에 의해 동일한 박스가 선택되게한다. 이 작업의 결과는 선택한 상자를 나타내는 경계 상자의 입력 모음에 인덱싱 된 정수 집합입니다. 선택한 인덱스에 해당하는 경계 상자 좌표는 tf.gather operation 사용하여 얻을 수 있습니다. 예 : selected_indices = tf.image.non_max_suppression_v2 (상자, 점수, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (boxes, selected_indices)

피연산자 :

  1. boxes : 모든 유형 값의 텐서
  2. scores : 모든 유형 값의 텐서
  3. max_output_size : 모든 유형 값의 텐서
  4. iou_threshold : 모든 유형 값의 텐서
  5. score_threshold : 모든 유형 값의 텐서

속성 :

결과 :

  1. selected_indices : 모든 유형 값의 텐서
  2. valid_outputs : 모든 유형 값의 텐서

tfl.non_max_suppression_v5 (TFL :: NonMaxSuppressionV5Op)

점수의 내림차순으로 경계 상자의 하위 집합을 탐욕스럽게 선택합니다.

기술:

높은 IOU (교집합 교차)가있는 상자를 제거하면 이전에 선택한 상자와 겹칩니다. score_threshold 보다 score_threshold 점수를 가진 경계 상자가 제거됩니다. 경계 상자는 [y1, x1, y2, x2]로 제공되며, 여기서 (y1, x1) 및 (y2, x2)는 모든 대각선 상자 모서리 쌍의 좌표이며 좌표는 정규화 된대로 제공 할 수 있습니다 (즉, 간격 [0, 1]) 또는 절대 값. 이 알고리즘은 원점이 좌표계에있는 위치와 무관하며, 일반적으로 좌표계의 직교 변환 및 변환에는 변하지 않습니다. 따라서 좌표계의 변환 또는 반사는 알고리즘에 의해 동일한 박스가 선택되게한다. 이 작업의 결과는 선택한 상자를 나타내는 경계 상자의 입력 모음에 인덱싱 된 정수 집합입니다. 선택한 인덱스에 해당하는 경계 상자 좌표는 tf.gather operation 사용하여 얻을 수 있습니다. For example: selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) This op also supports a Soft-NMS (with Gaussian weighting) mode (cf Bodla et al, https://arxiv.org/abs/1704.04503) where boxes reduce the score of other overlapping boxes instead of directly causing them to be pruned. To enable this Soft-NMS mode, set the soft_nms_sigma parameter to be larger than 0.

Operands:

  1. boxes : tensor of any type values
  2. scores : tensor of any type values
  3. max_output_size : tensor of any type values
  4. iou_threshold : tensor of any type values
  5. score_threshold : tensor of any type values
  6. soft_nms_sigma : tensor of any type values

Attributes:

Results:

  1. selected_indices : tensor of any type values
  2. selected_scores : tensor of any type values
  3. valid_outputs : tensor of any type values

tfl.not_equal (TFL::NotEqualOp)

Not_equal operator

Description:

Element-wise not_equal operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.NumericVerify (TFL::NumericVerifyOp)

Verifies the numericals of the two operands

Description:

The NumericVerify op is a debugging op to verify the numericals of the two activations. It is a custom op in TFLite.

Operands:

  1. input : tensor of any type values
  2. ref : tensor of any type values

Attributes:

Attribute MLIR Type Description
tolerance FloatAttr 32-bit float attribute attribute

Results:

tfl.one_hot (TFL::OneHotOp)

OneHot operator

Description:

Returns a one-hot tensor.The locations represented by indices in indices take value on_value , while all other locations take value off_value .

If the input indices is rank N , the output will have rank N+1 , The new axis is created at dimension axis (default: the new axis is appended at the end).

Operands:

  1. indices : tensor of any type values
  2. depth : tensor of any type values
  3. on_value : tensor of any type values
  4. off_value : tensor of any type values

Attributes:

Attribute MLIR Type Description
axis IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.prelu (TFL::PReluOp)

Parameterized Relu operator

Description:

Parameterized Relu operator x -> x >= 0 ? x : (alpha * x) where alpha is a trainable tensor. alpha should have one less rank than the input as it doesn't have the batch dimension, and the other dimensions either should be the same size as input or size 1, where it is broadcasted in the second case.

Operands:

  1. input : tensor of any type values
  2. alpha : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.pack (TFL::PackOp)

Packs a list of tensors along a dimension into one tensor

Description:

Packs a list of values_count rank- R tensors into one rank- (R+1) tensor.

Packs the values_count tensors in values into a tensor with rank one higher than each tensor in values , by packing them along the axis dimension.

Given a list of tensors of shape (A, B, C) ;

if axis == 0 then the output tensor will have the shape (N, A, B, C) . if axis == 1 then the output tensor will have the shape (A, N, B, C) . Etc.

For example:

 # 'x' is [1, 4]
# 'y' is [2, 5]
# 'z' is [3, 6]
pack([x, y, z]) => [[1, 4], [2, 5], [3, 6]]  # Pack along first dim.
pack([x, y, z], axis=1) => [[1, 2, 3], [4, 5, 6]]
 

This is the opposite of unpack .

Operands:

  1. values : tensor of any type values

Attributes:

Attribute MLIR Type Description
values_count IntegerAttr 32-bit integer attribute attribute
axis IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.pad (TFL::PadOp)

Padding operator

Description:

This operation pads a input with zeros according to the paddings you specify. paddings is an integer tensor with shape [Dn, 2] , where n is the rank of input . For each dimension D of input , paddings[D, 0] indicates how many zeros to add before the contents of input in that dimension, and paddings[D, 1] indicates how many zeros to add after the contents of input in that dimension.

The padded size of each dimension D of the output is:

paddings(D, 0) + input.dim_size(D) + paddings(D, 1)

For example:

 # 't' is [[1, 1], [2, 2]]
# 'paddings' is [[1, 1], [2, 2]]
# rank of 't' is 2
pad(t, paddings) ==> [[0, 0, 0, 0, 0, 0]
                      [0, 0, 1, 1, 0, 0]
                      [0, 0, 2, 2, 0, 0]
                      [0, 0, 0, 0, 0, 0]]
 

Operands:

  1. input : tensor of any type values
  2. padding : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.padv2 (TFL::PadV2Op)

Padding operator v2

Description:

This operation pads a input according to the paddings and constant_values you specify. paddings is an integer tensor with shape [Dn, 2] , where n is the rank of input . For each dimension D of input , paddings[D, 0] indicates how many zeros to add before the contents of input in that dimension, and paddings[D, 1] indicates how many zeros to add after the contents of input in that dimension. constant_values is a scalar tensor of the same type as input that indicates the value to use for padding input .

The padded size of each dimension D of the output is:

paddings(D, 0) + input.dim_size(D) + paddings(D, 1)

For example:

 # 't' is [[1, 1], [2, 2]]
# 'paddings' is [[1, 1], [2, 2]]
# rank of 't' is 2
pad(t, paddings) ==> [[0, 0, 0, 0, 0, 0]
                      [0, 0, 1, 1, 0, 0]
                      [0, 0, 2, 2, 0, 0]
                      [0, 0, 0, 0, 0, 0]]
 

Operands:

  1. input : tensor of any type values
  2. padding : tensor of any type values
  3. constant_values : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.pow (TFL::PowOp)

Power operator

Description:

Element-wise power operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.pseudo_qconst (TFL::QConstOp)

Quantized constant pseudo op

Description:

Represents a quantized constant value in TensorFlow Lite dialect. This is not an actual operation and it will be lowered to buffer instead. The quantization parameters are stored as a type attribute in this constant.

Operands:

Attributes:

Attribute MLIR Type Description
qtype TypeAttr Tensor type attribute attribute
value ElementsAttr constant vector/tensor attribute attribute

Results:

  1. output : tensor of any type values

tfl.quantize (TFL::QuantizeOp)

Quantize operator

Description:

Converts floating point tensors to quantized integer tensors according to the quantization parameters defined in the type attribute.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
qtype TypeAttr Tensor type attribute attribute

Results:

  1. output : tensor of any type values

tfl.range (TFL::RangeOp)

Range operator

Description:

Returns a 1D tensor defined by a sequence from start to limit with a given delta .

Operands:

  1. start : tensor of any type values
  2. limit : tensor of any type values
  3. delta : tensor of any type values

Attributes:

Results:

  1. result : tensor of any type values

tfl.rank (TFL::RankOp)

Rank operator.

Description:

Returns the rank of a tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. output : tensor of any integer type

tfl.reduce_any (TFL::ReduceAnyOp)

Computes the "logical or" of elements across dimensions of a tensor.

Description:

Reduces input along the dimensions given in axis . Unless keep_dims is true, the rank of the tensor is reduced by 1 for each entry in axis . If keep_dims is true, the reduced dimensions are retained with length 1.

Operands:

  1. input : tensor of any type values
  2. reduction_indices : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.reduce_max (TFL::ReduceMaxOp)

Max-reduction operator

Description:

Computes the max reduction along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.reduce_min (TFL::ReduceMinOp)

Min-reduction operator

Description:

Computes the min reduction along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.reduce_prod (TFL::ReduceProdOp)

Prod-reduction operator

Description:

Computes the product along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.relu_n1_to_1 (TFL::Relu1Op)

Relu1 operator

Description:

Element-wise Relu1 operator x -> max(-1, min(1, x))

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.relu6 (TFL::Relu6Op)

Relu6 operator

Description:

Element-wise Relu6 operator x -> max(0, min(6, x))

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.relu (TFL::ReluOp)

Relu operator

Description:

Element-wise Relu operator x -> max(0, x)

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.reshape (TFL::ReshapeOp)

Reshape operator

Description:

Produces a tensor with the same values but different static shape defined by the output type.

Operands:

  1. input : tensor of any type values
  2. shape : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.resize_bilinear (TFL::ResizeBilinearOp)

ResizeBilinear Op

Description:

Resize images to size using bilinear interpolation.

Operands:

  1. input : tensor of any type values
  2. size : tensor of any type values

Attributes:

Attribute MLIR Type Description
align_corners BoolAttr bool attribute attribute
half_pixel_centers BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.resize_nearest_neighbor (TFL::ResizeNearestNeighborOp)

ResizeNearestNeighbor Op

Description:

Resize images to size using nearest neighbor interpolation.

Operands:

  1. input : tensor of any type values
  2. size : tensor of any type values

Attributes:

Attribute MLIR Type Description
align_corners BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.reverse_sequence (TFL::ReverseSequenceOp)

Reverses variable length slices.

Description:

This op first slices input along the dimension batch_dim , and for each slice i , reverses the first seq_lengths[i] elements along the dimension seq_dim .

The elements of seq_lengths must obey seq_lengths[i] <= input.dims[seq_dim] , and seq_lengths must be a vector of length input.dims[batch_dim] .

The output slice i along dimension batch_dim is then given by input slice i , with the first seq_lengths[i] slices along dimension seq_dim reversed.

Operands:

  1. input : tensor of any type values
  2. seq_lengths : tensor of any type values

Attributes:

Attribute MLIR Type Description
seq_dim IntegerAttr 32-bit integer attribute attribute
batch_dim IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.reverse_v2 (TFL::ReverseV2Op)

ReverseV2 Operator

Description:

Reverses specific dimensions of a tensor.

Given a tensor, and a int32/int64 tensor axis representing the set of dimensions of tensor to reverse. This operation reverses each dimension i for which there exists j st axis[j] == i.

Args: tensor: A Tensor. Must be one of the following types: uint8, int16, int32, int64, float32, bool Up to 8-D.

axis: A Tensor. Must be one of the following types: int32, int64. with only 1 element which is the axis index. TODO: Add support for multiple elements.

Operands:

  1. input : tensor of any type values
  2. axis : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.round (TFL::RoundOp)

Round operator

Description:

Rounds the values of a tensor to the nearest integer, element-wise.

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.rsqrt (TFL::RsqrtOp)

Reciprocal of square root operator

Description:

Computes element-wise reverse square root of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.svdf (TFL::SVDFOp)

Single value decomposition filter operator

Description:

The SVDF op is a decomposition of a densely connected op into low rank filters. For details: https://research.google.com/pubs/pub43813.html https://arxiv.org/abs/1812.02802

Operands:

  1. input : tensor of any type values
  2. feature_weights : tensor of any type values
  3. time_weights : tensor of any type values
  4. input_gate_bias : tensor of any type values or none type
  5. activation_state : stateful tensor

Attributes:

Attribute MLIR Type Description
rank IntegerAttr 32-bit integer attribute attribute
fused_activation_function StringAttr fused activation enum attribute

Results:

  1. output : tensor of any type values

tfl.segment_sum (TFL::SegmentSumOp)

SegmentSum operator

Description:

Computes the sum along segments of a tensor.

Operands:

  1. data : tensor of any type values
  2. segment_ids : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.select (TFL::SelectOp)

Select operator

Description:

Select values of 'x' if the corresponding value of 'condition' is true or the value of 'y' if false. There are valid condition input sizes:

  1. Either the same shape (in which case the select is elementwise), or
  2. condition must be Rank 1 and match over the first dimension.

Operands:

  1. condition : tensor of any type values
  2. x : tensor of any type values
  3. y : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.select_v2 (TFL::SelectV2Op)

SelectV2 operator

Description:

Select values of 'x' if the corresponding value of 'condition' is true or the value of 'y' if false. There are valid condition input sizes:

  1. Either the same shape (in which case the select is elementwise), or
  2. Broadcastable shapes between 'condition', 'x' and 'y'.

Operands:

  1. condition : tensor of any type values
  2. x : tensor of any type values
  3. y : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.shape (TFL::ShapeOp)

Shape operator

Description:

Returns the shape of a tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
out_type Attribute derived attribute attribute

Results:

  1. output : tensor of any type values

tfl.sin (TFL::SinOp)

Sine operator

Description:

Computes element-wise Sine of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.slice (TFL::SliceOp)

Return a slice from 'input'.

Description:

The output tensor is a tensor with dimensions described by 'size' whose values are extracted from 'input' starting at the offsets in 'begin'.

begin is zero-based; size is one-based. If size[i] is -1, all remaining elements in dimension i are included in the slice. In other words, this is equivalent to setting: size[i] = input.dim_size(i) - begin[i]

Requirements : 0 <= begin[i] <= begin[i] + size[i] <= Di for i in [0, n)

Operands:

  1. input : tensor of any type values
  2. begin : tensor of any type values
  3. size : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.softmax (TFL::SoftmaxOp)

Softmax operator

Description:

Computes element-wise softmax activations with the following formula

exp(input) / tf.reduce_sum(exp(input * beta), dim)

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
beta FloatAttr 32-bit float attribute attribute

Results:

  1. output : tensor of any type values

tfl.space_to_batch_nd (TFL::SpaceToBatchNdOp)

SpaceToBatchNd operator

Description:

This operation reshapes space dimensions into the "batch" dimension 0

Operands:

  1. input : tensor of any type values
  2. block_shape : tensor of any type values
  3. paddings : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.space_to_depth (TFL::SpaceToDepthOp)

SpaceToDepth operator

Description:

Rearranges blocks of spatial data, into depth. More specifically, this op outputs a copy of the input tensor where values from the height and width dimensions are moved to the depth dimension. block_size indicates the input block size.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
block_size IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.pseudo_sparse_const (TFL::SparseConstOp)

Sparse constant pseudo op.

Description:

Represents a sparse constant value in TensorFlow Lite dialect. This is not an actual operation and it will be lowered to buffer instead.

Operands:

Attributes:

Attribute MLIR Type Description
value ElementsAttr constant vector/tensor attribute attribute
s_param TFL::SparsityParameterAttr Sparsity parameter. attribute

Results:

  1. output : tensor of any type values

tfl.pseudo_sparse_qconst (TFL::SparseQConstOp)

Sparse quantized constant pseudo op

Description:

Represents a sparse quantized constant value in TensorFlow Lite dialect. This is not an actual operation and it will be lowered to buffer instead. The quantization parameters are stored as a type attribute in this constant.

Operands:

Attributes:

Attribute MLIR Type Description
qtype TypeAttr Tensor type attribute attribute
value ElementsAttr constant vector/tensor attribute attribute
s_param TFL::SparsityParameterAttr Sparsity parameter. attribute

Results:

  1. output : tensor of any type values

tfl.sparse_to_dense (TFL::SparseToDenseOp)

Converts a sparse representation into a dense tensor.

Description:

Builds an array dense with shape output_shape such that

 # If sparse_indices is scalar
dense[i] = (i == sparse_indices ? sparse_values : default_value)

# If sparse_indices is a vector, then for each i
dense[sparse_indices[i]] = sparse_values[i]

# If sparse_indices is an n by d matrix, then for each i in [0, n)
dense[sparse_indices[i][0], ..., sparse_indices[i][d-1]] = sparse_values[i]
 

All other values in dense are set to default_value . If sparse_values is a scalar, all sparse indices are set to this single value.

Indices should be sorted in lexicographic order, and indices must not contain any repeats. If validate_indices is true, these properties are checked during execution.

Operands:

  1. sparse_indices : tensor of any type values
  2. output_shape : tensor of any type values
  3. sparse_values : tensor of any type values
  4. default_value : tensor of any type values

Attributes:

Results:

  1. dense : tensor of any type values

tfl.split (TFL::SplitOp)

Splits a tensor into num_split tensors along one dimension.

Description:

Splits the value tensor along split_dim into a number of sub-tensors with same shape as the original one, except for split_dim . Same as tf.Split.

Operands:

  1. split_dim : tensor of any type values
  2. value : tensor of any type values

Attributes:

Attribute MLIR Type Description
num_splits IntegerAttr positive 32-bit integer attribute attribute

Results:

  1. outputs : tensor of any type values

tfl.split_v (TFL::SplitVOp)

Splits a tensor into num_split tensors along one dimension.

Description:

Splits the value tensor along split_dim into a number of sub-tensors with same shape as the original one, except for split_dim . The grouping of the resultant sub-tensors is decided by size-splits . Same as tf.SplitV.

Operands:

  1. value : tensor of any type values
  2. size_splits : 1D tensor of 32-bit integer values
  3. split_dim : 0D tensor of 32-bit integer values

Attributes:

Attribute MLIR Type Description
num_splits IntegerAttr positive 32-bit integer attribute attribute

Results:

  1. outputs : tensor of any type values

tfl.sqrt (TFL::SqrtOp)

Square root operator

Description:

Computes element-wise Square root of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.square (TFL::SquareOp)

Square operator

Description:

Computes element-wise Square of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.squared_difference (TFL::SquaredDifferenceOp)

Squared difference operator

Description:

Element-wise squared difference operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.squeeze (TFL::SqueezeOp)

Removes dimensions of size 1 from the shape of a tensor.

Description:

Given a tensor input , this operation returns a tensor of the same type with all dimensions of size 1 removed. If you don't want to remove all size 1 dimensions, you can remove specific size 1 dimensions by specifying axis .

For example:

 # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t)) ==> [2, 3]
 

Or, to remove specific size 1 dimensions:

 # 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]
 

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
squeeze_dims ArrayAttr 64-bit integer array attribute attribute

Results:

  1. output : tensor of any type values

tfl.strided_slice (TFL::StridedSliceOp)

StridedSlice Op

Description:

Return a strided slice from input .

Operands:

  1. input : tensor of any type values
  2. begin : tensor of any type values
  3. end : tensor of any type values
  4. strides : tensor of any type values

Attributes:

Attribute MLIR Type Description
begin_mask IntegerAttr 32-bit integer attribute attribute
end_mask IntegerAttr 32-bit integer attribute attribute
ellipsis_mask IntegerAttr 32-bit integer attribute attribute
new_axis_mask IntegerAttr 32-bit integer attribute attribute
shrink_axis_mask IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.sub (TFL::SubOp)

Subtraction operator

Description:

Element-wise subtraction operation.

Operands:

  1. lhs : tensor of any type values
  2. rhs : tensor of any type values

Attributes:

Attribute MLIR Type Description
fused_activation_function StringAttr fused activation enum attribute

Results:

  1. output : tensor of any type values

tfl.sum (TFL::SumOp)

Sum operator

Description:

Computes the sum reduction along the specified axes

Operands:

  1. input : tensor of any type values
  2. axes : tensor of any type values

Attributes:

Attribute MLIR Type Description
keep_dims BoolAttr bool attribute attribute

Results:

  1. «unnamed»: tensor of any type values

tfl.tanh (TFL::TanhOp)

Hyperbolic tangent operator

Description:

Computes element-wise Hyperbolic tangent of input

Operands:

  1. x : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.tile (TFL::TileOp)

Tile operator.

Description:

Constructs a tensor by tiling a given tensor.

This operation creates a new tensor by replicating input multiples times. The output tensor's i'th dimension has input.dims(i) * multiples[i] elements, and the values of input are replicated multiples[i] times along the 'i'th dimension. For example, tiling [abcd] by [2] produces [abcdabcd].

Operands:

  1. input : tensor of any type values
  2. multiples : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values

tfl.topk_v2 (TFL::TopKV2Op)

TopK operator

Description:

Returns the top k largest element along each last dimensional slice of input and the indices of values within the last dimension of the input tensor.

Operands:

  1. input : tensor of any type values
  2. k : tensor of any type values

Attributes:

Results:

  1. values : tensor of any type values
  2. indices : tensor of any type values

tfl.transpose_conv (TFL::TransposeConvOp)

Transpose convolution operator

Description:

Performs transpose convolution operation on input.

Operands:

  1. output_shape : 1D tensor of any type values
  2. weights : tensor of any type values
  3. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
padding StringAttr padding enum attribute
stride_h IntegerAttr 32-bit integer attribute attribute
stride_w IntegerAttr 32-bit integer attribute attribute

Results:

  1. output : tensor of any type values

tfl.transpose (TFL::TransposeOp)

Transpose operator

Description:

Returns the Transpose of x

Operands:

  1. x : tensor of any type values
  2. perm : tensor of any type values

Attributes:

Results:

  1. y : tensor of any type values

tfl.unidirectional_sequence_lstm (TFL::UnidirectionalSequenceLSTMOp)

Unidirectional sequence lstm operator

Description:

A recurrent neural network specified by an LSTM cell. This Op supports unrolling the input along the time or batch dimensions, and implements the following operation for each element in the sequence s = 1...sequence_length: outputs[s] = state = activation(LSTMOp(inputs[s]))

where LSTMOp is LSTM TF Lite Op and the “activation” is the function passed as the “fused_activation_function” argument (if not “NONE”).

Operands:

  1. input : tensor of any type values
  2. input_to_input_weights : tensor of any type values or none type
  3. input_to_forget_weights : tensor of any type values
  4. input_to_cell_weights : tensor of any type values
  5. input_to_output_weights : tensor of any type values
  6. recurrent_to_input_weights : tensor of any type values or none type
  7. recurrent_to_forget_weights : tensor of any type values
  8. recurrent_to_cell_weights : tensor of any type values
  9. recurrent_to_output_weights : tensor of any type values
  10. cell_to_input_weights : tensor of any type values or none type
  11. cell_to_forget_weights : tensor of any type values or none type
  12. cell_to_output_weights : tensor of any type values or none type
  13. input_gate_bias : tensor of any type values or none type
  14. forget_gate_bias : tensor of any type values
  15. cell_bias : tensor of any type values
  16. output_gate_bias : tensor of any type values
  17. projection_weights : tensor of any type values or none type
  18. projection_bias : tensor of any type values or none type
  19. input_activation_state : stateful tensor
  20. input_cell_state : stateful tensor
  21. input_layer_norm_coefficients : tensor of any type values or none type
  22. forget_layer_norm_coefficients : tensor of any type values or none type
  23. cell_layer_norm_coefficients : tensor of any type values or none type
  24. output_layer_norm_coefficients : tensor of any type values or none type

Attributes:

Attribute MLIR Type Description
fused_activation_function StringAttr fused activation enum attribute
cell_clip FloatAttr 32-bit float attribute attribute
proj_clip FloatAttr 32-bit float attribute attribute
time_major BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.unidirectional_sequence_rnn (TFL::UnidirectionalSequenceRNNOp)

Unidirectional sequence rnn operator

Description:

A recurrent neural network specified by an RNN cell. This Op takes in input in a format {batch_size, seq_len, input_size} or {seq_len, batch_size, input_size} if it's time-majored.

It implements the following operation for each element in the sequence s = 1...sequence_length: outputs[s] = state = activation(RNNOp(inputs[s]))

where RNNOp is RNNOp TF Lite Op and the “activation” is the function passed as the “fused_activation_function” argument (if not “NONE”).

Operands:

  1. input : tensor of any type values
  2. input_to_input_weights : tensor of any type values
  3. recurrent_to_input_weights : tensor of any type values
  4. input_gate_bias : tensor of any type values
  5. hidden_state : stateful tensor

Attributes:

Attribute MLIR Type Description
time_major BoolAttr bool attribute attribute
fused_activation_function StringAttr fused activation enum attribute

Results:

  1. output : tensor of any type values

tfl.unique (TFL::UniqueOp)

Unique Op.

Description:

This operation returns a tensor y containing all of the unique elements of x sorted in the same order that they occur in x . This operation also returns a tensor idx the same size as x that contains the index of each value of x in the unique output y . In other words:

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
idx_out_type Attribute derived attribute attribute

Results:

  1. output : tensor of any type values
  2. idx : tensor of any type values

tfl.unpack (TFL::UnpackOp)

Unpacks a tensor along a dimension into multiple tensors

Description:

Unpacks a given dimension of a rank- R tensor into num rank- (R-1) tensors.

Unpacks num tensors from value by chipping it along the axis dimension. For example, given a tensor of shape (A, B, C, D) ;

If axis == 0 then the i'th tensor in output is the slice value[i, :, :, :] and each tensor in output will have shape (B, C, D) . (Note that the dimension unpacked along is gone, unlike split ).

If axis == 1 then the i'th tensor in output is the slice value[:, i, :, :] and each tensor in output will have shape (A, C, D) . Etc.

This is the opposite of pack .

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
num IntegerAttr 32-bit integer attribute attribute
axis IntegerAttr 32-bit integer attribute attribute

Results:

  1. outputs : tensor of any type values

tfl.where (TFL::WhereOp)

Returns locations of nonzero / true values in a tensor.

Description:

This operation returns the coordinates of true elements in condition . The coordinates are returned in a 2-D tensor where the first dimension (rows) represents the number of true elements, and the second dimension (columns) represents the coordinates of the true elements. Keep in mind, the shape of the output tensor can vary depending on how many true values there are in condition . Indices are output in row-major order.

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. index : tensor of any type values

tfl.while (TFL::WhileOp)

While loop

Description:

output = input; while (cond(output)) { output = body(output) }

While loop where all values are passes through arguments with implicit capture.

input: A list of input tensors whose types are T. output: A list of output tensors whose types are T. cond: A region takes 'input' and returns a boolean scalar tensor. body: A region that takes a list of tensors and returns another list of tensors. Both lists have the same types.

Operands:

  1. input : tensor of any type values

Attributes:

Attribute MLIR Type Description
is_stateless BoolAttr bool attribute attribute

Results:

  1. output : tensor of any type values

tfl.yield (TFL::YieldOp)

Yield operation

Description:

The "yield" operation represents a return operation within the conditional and body of structured control flow (eg, while). The operation takes variable number of operands and produces no results. The operand number and types must match the signature of the region that contains the operation.

Operands:

  1. operands : any type

Attributes:

Results:

tfl.zeros_like (TFL::ZerosLikeOp)

ZerosLike operator

Description:

Returns a tensor of zeros with the same shape and type as the input tensor.

Operands:

  1. input : tensor of any type values

Attributes:

Results:

  1. output : tensor of any type values