【发布时间】:2021-05-13 01:31:02
【问题描述】:
我想知道是否可以使用 Tensorflow 数据集来训练 scikit-learn 和其他 ML 框架。
那么,例如,我可以使用tf.data.dataset 来训练 xgboost、LogisticReg、RandomForest 分类器等吗?
即我可以将tf.data.dataset 对象传递到这些模型的.fit() 方法中进行训练吗?
我试过了:
xs=np.asarray([i for i in range(10000)]).reshape(-1, 1)
ys=np.asarray([int(i%2==0)for i in range(10000)])
xs = tf.data.Dataset.from_tensor_slices(xs)
ys = tf.data.Dataset.from_tensor_slices(ys)
cls.fit(xs, ys)
我收到以下错误:
TypeError: float() argument must be a string or a number, not 'TensorSliceDataset'
【问题讨论】:
-
使用
tf.data创建的数据集只能与 tensorflow 预制估计器、tensorflow 自定义估计器和tf.keras模型一起使用。如果您想将 tensorflow 数据集与其他 ML 框架一起使用,您需要将数据转换为兼容的格式,例如:数据框、数组、列表等。如果您想继续使用tf,您可以参考预制估算器列表here.
标签: tensorflow scikit-learn tensorflow2.0 tensorflow-datasets