@@ -43,44 +43,30 @@ void Init<T>(T value) where T : unmanaged
4343 double val => new Tensor ( val ) ,
4444 _ => throw new NotImplementedException ( "" )
4545 } ;
46- _tensor . SetReferencedByNDArray ( ) ;
4746
48- var _handle = c_api . TFE_NewTensorHandle ( _tensor , tf . Status . Handle ) ;
49- _tensor . SetEagerTensorHandle ( _handle ) ;
47+ _tensor . SetReferencedByNDArray ( ) ;
5048 }
5149
5250 void Init ( Array value , Shape ? shape = null )
5351 {
5452 _tensor = new Tensor ( value , shape ?? value . GetShape ( ) ) ;
5553 _tensor . SetReferencedByNDArray ( ) ;
56-
57- var _handle = c_api . TFE_NewTensorHandle ( _tensor , tf . Status . Handle ) ;
58- _tensor . SetEagerTensorHandle ( _handle ) ;
5954 }
6055
6156 void Init ( Shape shape , TF_DataType dtype = TF_DataType . TF_DOUBLE )
6257 {
6358 _tensor = new Tensor ( shape , dtype : dtype ) ;
6459 _tensor . SetReferencedByNDArray ( ) ;
65-
66- var _handle = c_api . TFE_NewTensorHandle ( _tensor , tf . Status . Handle ) ;
67- _tensor . SetEagerTensorHandle ( _handle ) ;
6860 }
6961
7062 void Init ( Tensor value , Shape ? shape = null )
7163 {
72- if ( shape is not null )
73- _tensor = new Tensor ( value . TensorDataPointer , shape , value . dtype ) ;
74- else
75- _tensor = value ;
76-
77- if ( _tensor . TensorDataPointer == IntPtr . Zero )
78- _tensor = tf . get_default_session ( ) . eval ( _tensor ) ;
64+ // created tensor in graph mode
65+ if ( value . TensorDataPointer == IntPtr . Zero )
66+ value = tf . defaultSession . eval ( value ) ;
7967
68+ _tensor = new Tensor ( value . TensorDataPointer , shape ?? value . shape , value . dtype ) ;
8069 _tensor . SetReferencedByNDArray ( ) ;
81-
82- var _handle = c_api . TFE_NewTensorHandle ( _tensor , tf . Status . Handle ) ;
83- _tensor . SetEagerTensorHandle ( _handle ) ;
8470 }
8571 }
8672}
0 commit comments