@@ -159,7 +159,7 @@ value is NDArray nd &&
159159 case EagerTensor val :
160160 return val ;
161161 case NDArray val :
162- return new EagerTensor ( val , ctx . DeviceName ) ;
162+ return ( EagerTensor ) val ;
163163 case Shape val :
164164 return new EagerTensor ( val . dims , new Shape ( val . ndim ) ) ;
165165 case TensorShape val :
@@ -172,49 +172,27 @@ value is NDArray nd &&
172172 return new EagerTensor ( new [ ] { val } , Shape . Scalar ) ;
173173 case byte val :
174174 return new EagerTensor ( new [ ] { val } , Shape . Scalar ) ;
175- case byte [ ] val :
176- return new EagerTensor ( val , ctx . DeviceName ) ;
177- case byte [ , ] val :
178- return new EagerTensor ( val , ctx . DeviceName ) ;
179- case byte [ , , ] val :
180- return new EagerTensor ( val , ctx . DeviceName ) ;
181175 case int val :
182176 return new EagerTensor ( new [ ] { val } , Shape . Scalar ) ;
183- case int [ ] val :
184- return new EagerTensor ( val , new Shape ( val . Length ) ) ;
185- case int [ , ] val :
186- return new EagerTensor ( val , new Shape ( val . GetLength ( 0 ) , val . GetLength ( 1 ) ) ) ;
187- case int [ , , ] val :
188- return new EagerTensor ( val , ctx . DeviceName ) ;
189177 case long val :
190178 return new EagerTensor ( new [ ] { val } , Shape . Scalar ) ;
191- case long [ ] val :
192- return new EagerTensor ( val , new Shape ( val . Length ) ) ;
193- case long [ , ] val :
194- return new EagerTensor ( val , ctx . DeviceName ) ;
195- case long [ , , ] val :
196- return new EagerTensor ( val , ctx . DeviceName ) ;
197179 case float val :
198180 return new EagerTensor ( new [ ] { val } , Shape . Scalar ) ;
199- case float [ ] val :
200- return new EagerTensor ( val , ctx . DeviceName ) ;
201- case float [ , ] val :
202- return new EagerTensor ( val , ctx . DeviceName ) ;
203- case float [ , , ] val :
204- return new EagerTensor ( val , ctx . DeviceName ) ;
205181 case double val :
206182 return new EagerTensor ( new [ ] { val } , Shape . Scalar ) ;
207- case double [ ] val :
208- return new EagerTensor ( val , ctx . DeviceName ) ;
209- case double [ , ] val :
210- return new EagerTensor ( val , ctx . DeviceName ) ;
211- case double [ , , ] val :
212- return new EagerTensor ( val , ctx . DeviceName ) ;
183+ case Array val :
184+ return new EagerTensor ( val , GetArrayDims ( val ) ) ;
213185 default :
214186 throw new NotImplementedException ( $ "convert_to_eager_tensor { value . GetType ( ) } ") ;
215187 }
216188 }
217189
190+ static Shape GetArrayDims ( Array array )
191+ {
192+ var dims = range ( array . Rank ) . Select ( x => ( long ) array . GetLength ( x ) ) . ToArray ( ) ;
193+ return new Shape ( dims ) ;
194+ }
195+
218196 /// <summary>
219197 /// Function to convert TensorShape to Tensor.
220198 /// </summary>
0 commit comments