@@ -176,14 +176,35 @@ private NDArray[] _do_run(List<Operation> target_list, List<Tensor> fetch_list,
176176 var tensor = new Tensor ( v ) ;
177177 if ( tensor . dtype != key . dtype )
178178 throw new ValueError ( $ "Tensor { v } does not match the expected dtype { key . dtype } , actual dtype: { tensor . dtype } ") ;
179-
180179 feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , tensor ) ;
181180 break ;
182- default :
183- feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , constant_op . constant ( x . Value ) ) ;
181+ case bool v :
182+ feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , new Tensor ( v ) ) ;
183+ break ;
184+ case byte v :
185+ feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , new Tensor ( v ) ) ;
186+ break ;
187+ case int v :
188+ feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , new Tensor ( v ) ) ;
189+ break ;
190+ case long v :
191+ feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , new Tensor ( v ) ) ;
184192 break ;
193+ case float v :
194+ feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , new Tensor ( v ) ) ;
195+ break ;
196+ case double v :
197+ feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , new Tensor ( v ) ) ;
198+ break ;
199+ case Array v :
200+ feeds [ i ++ ] = new KeyValuePair < TF_Output , Tensor > ( key . _as_tf_output ( ) , new Tensor ( v , v . GetShape ( ) ) ) ;
201+ break ;
202+ default :
203+ throw new NotImplementedException ( "" ) ;
185204 }
186205 }
206+ else
207+ throw new NotImplementedException ( "" ) ;
187208 }
188209
189210 var fetches = fetch_list . Select ( x => x . _as_tf_output ( ) ) . ToArray ( ) ;
0 commit comments