message: Register ResourceApplyKerasMomentum op in TF Dialect
diff: @@ -4381,6 +4381,34 @@ def TF_ResourceApplyGradientDescentOp : TF_Op<"ResourceApplyGradientDescent", []
  TF_DerivedOperandTypeAttr T = TF_DerivedOperandTypeAttr<1>;
  }
  +def TF_ResourceApplyKerasMomentumOp : TF_Op<"ResourceApplyKerasMomentum", []> {
  + let summary = [{
  +Update '*var' according to the momentum scheme.
  + }];
  +
  + let description = [{
  +Set use_nesterov = True if you want to use Nesterov momentum.
  +
  +accum = accum * momentum - lr * grad
  +var += accum
  + }];
  +
  + let arguments = (ins
  + TF_ResourceTensor:$var,
  + TF_ResourceTensor:$accum,
  + TensorOf<[BF16, F16, F32, F64, I16, I32, I64, I8, TF_Complex128, TF_Complex64, TF_Qint32, TF_Qint8, TF_Quint8, TF_Uint16, TF_Uint32, TF_Uint64, TF_Uint8]>:$lr,
  + TensorOf<[BF16, F16, F32, F64, I16, I32, I64, I8, TF_Complex128, TF_Complex64, TF_Qint32, TF_Qint8, TF_Quint8, TF_Uint16, TF_Uint32, TF_Uint64, TF_Uint8]>:$grad,
  + TensorOf<[BF16, F16, F32, F64, I16, I32, I64, I8, TF_Complex128, TF_Complex64, TF_Qint32, TF_Qint8, TF_Quint8, TF_Uint16, TF_Uint32, TF_Uint64, TF_Uint8]>:$momentum,
  +
  + DefaultValuedAttr<BoolAttr, "false">:$use_locking,
  + DefaultValuedAttr<BoolAttr, "false">:$use_nesterov
  + );
  +
  + let results = (outs);
  +
  + TF_DerivedOperandTypeAttr T = TF_DerivedOperandTypeAttr<2>;
  +}
  +
  def TF_ReverseSequenceOp : TF_Op<"ReverseSequence", [NoSideEffect]> {
  let summary = "Reverses variable length slices.";
  