22using System ;
33using System . Collections . Generic ;
44using System . Text ;
5+ using Tensorflow . Eager ;
56
67namespace Tensorflow
78{
89 public class gen_state_ops
910 {
1011 public static OpDefLibrary _op_def_lib = new OpDefLibrary ( ) ;
12+ public static Execute _execute = new Execute ( ) ;
1113
1214 /// <summary>
1315 /// Holds state in the form of a tensor that persists across steps.
@@ -32,6 +34,14 @@ public static Tensor variable_v2(long[] shape, TF_DataType dtype, string name =
3234 var _result = _op . outputs ;
3335 var _inputs_flat = _op . inputs ;
3436
37+ var _attrs = new Dictionary < string , object > ( ) ;
38+ _attrs [ "dtype" ] = _op . get_attr < DataType > ( "dtype" ) ;
39+ _attrs [ "shape" ] = _op . get_attr < int [ ] > ( "shape" ) ;
40+ _attrs [ "container" ] = _op . get_attr < string > ( "container" ) ;
41+ _attrs [ "shared_name" ] = _op . get_attr < string > ( "shared_name" ) ;
42+
43+ _execute . record_gradient ( "Placeholder" , _inputs_flat , _attrs , _result , name ) ;
44+
3545 return new Tensor ( _op , 0 , dtype ) ;
3646 }
3747
@@ -56,9 +66,17 @@ public static Tensor assign(Tensor tensor, Tensor value,
5666
5767 var _op = _op_def_lib . _apply_op_helper ( "Assign" , name : name , keywords : keywords ) ;
5868
59- var _result = _op . outputs [ 0 ] ;
69+ var _result = _op . outputs ;
6070 var _inputs_flat = _op . inputs ;
61- return _result ;
71+
72+ var _attrs = new Dictionary < string , object > ( ) ;
73+ _attrs [ "T" ] = _op . get_attr < DataType > ( "T" ) ;
74+ _attrs [ "validate_shape" ] = _op . get_attr < bool > ( "validate_shape" ) ;
75+ _attrs [ "use_locking" ] = _op . get_attr < bool > ( "use_locking" ) ;
76+
77+ _execute . record_gradient ( "Placeholder" , _inputs_flat , _attrs , _result , name ) ;
78+
79+ return _result [ 0 ] ;
6280 }
6381 }
6482}
0 commit comments