@@ -737,44 +737,35 @@ public static Tensor strided_slice(Tensor input_, Tensor begin, Tensor end,
737737 public static Tensor strided_slice_grad ( Tensor shape , Tensor begin , Tensor end , Tensor strides , Tensor dy ,
738738 long begin_mask = 0 , long end_mask = 0 , long ellipsis_mask = 0 , long new_axis_mask = 0 ,
739739 long shrink_axis_mask = 0 , string name = null )
740- => tf . Context . RunInAutoMode2 (
741- ( ) => tf . OpDefLib . _apply_op_helper ( "StridedSliceGrad" , name , new
740+ => tf . Context . RunInAutoMode2 ( "StridedSliceGrad" , name , new AutoModeArgs
741+ {
742+ OpInputArgs = new
742743 {
743744 shape ,
744745 begin ,
745746 end ,
746747 strides ,
747- dy ,
748+ dy
749+ } ,
750+ OpAttrs = new
751+ {
748752 begin_mask ,
749753 end_mask ,
750754 ellipsis_mask ,
751755 new_axis_mask ,
752756 shrink_axis_mask
753- } ) . output ,
754- ( ) => tf . Runner . TFE_FastPathExecute ( tf . Context , tf . Context . DeviceName ,
755- "StridedSliceGrad" , name ,
756- null ,
757- shape , begin , end , strides , dy ,
758- "begin_mask" , begin_mask ,
759- "end_mask" , end_mask ,
760- "ellipsis_mask" , ellipsis_mask ,
761- "new_axis_mask" , new_axis_mask ,
762- "shrink_axis_mask" , shrink_axis_mask ) . FirstOrDefault ( ) ,
763- ( op ) =>
764- {
765- var attrs = new object [ ]
766- {
767- "T" , op . get_attr < TF_DataType > ( "T" ) ,
768- "Index" , op . get_attr < TF_DataType > ( "Index" ) ,
769- "begin_mask" , op . get_attr < long > ( "begin_mask" ) ,
770- "end_mask" , op . get_attr < long > ( "end_mask" ) ,
771- "ellipsis_mask" , op . get_attr < long > ( "ellipsis_mask" ) ,
772- "new_axis_mask" , op . get_attr < long > ( "new_axis_mask" ) ,
773- "shrink_axis_mask" , op . get_attr < long > ( "shrink_axis_mask" )
774- } ;
775- tf . Runner . RecordGradient ( "StridedSliceGrad" , op . inputs , attrs , op . outputs ) ;
776757 } ,
777- new Tensors ( shape , begin , end , strides , dy ) ) ;
758+ GetGradientAttrs = ( op ) => new
759+ {
760+ T = op . get_attr < TF_DataType > ( "T" ) ,
761+ Index = op . get_attr < TF_DataType > ( "Index" ) ,
762+ begin_mask = op . get_attr < long > ( "begin_mask" ) ,
763+ end_mask = op . get_attr < long > ( "end_mask" ) ,
764+ ellipsis_mask = op . get_attr < long > ( "ellipsis_mask" ) ,
765+ new_axis_mask = op . get_attr < long > ( "new_axis_mask" ) ,
766+ shrink_axis_mask = op . get_attr < long > ( "shrink_axis_mask" )
767+ }
768+ } ) ;
778769
779770 /// <summary>
780771 /// Removes dimensions of size 1 from the shape of a tensor.
@@ -969,27 +960,15 @@ public static Tensor slice<Tb, Ts>(Tensor input, Tb begin, Ts size, string name
969960 => gen_array_ops . slice ( input , begin , size , name : name ) ;
970961
971962 public static Tensor slice ( Tensor input , Tensor begin , Tensor size , string name = null )
972- => tf . Context . RunInAutoMode2 (
973- ( ) => tf . OpDefLib . _apply_op_helper ( "Slice" , name , new
974- {
975- input ,
976- begin ,
977- size
978- } ) . output ,
979- ( ) => tf . Runner . TFE_FastPathExecute ( tf . Context , tf . Context . DeviceName ,
980- "Slice" , name ,
981- null ,
982- input , begin , size ) . FirstOrDefault ( ) ,
983- ( op ) =>
963+ => tf . Context . RunInAutoMode2 ( "Slice" , name , new AutoModeArgs
964+ {
965+ OpInputArgs = new { input , begin , size } ,
966+ GetGradientAttrs = ( op ) => new
984967 {
985- var attrs = new object [ ]
986- {
987- "T" , op . get_attr < TF_DataType > ( "T" ) ,
988- "Index" , op . get_attr < int > ( "Index" )
989- } ;
990- tf . Runner . RecordGradient ( "Slice" , op . inputs , attrs , op . outputs ) ;
991- } ,
992- new Tensors ( input , begin , size ) ) ;
968+ T = op . get_attr < TF_DataType > ( "T" ) ,
969+ Index = op . get_attr < int > ( "Index" )
970+ }
971+ } ) ;
993972
994973 public static Tensor stack ( object values , int axis = 0 , string name = "stack" )
995974 {
0 commit comments