0

我们正在尝试使用 tensorflow 微调/训练预训练的 RoBERTa 模型。为此,我们必须从我们的数据框中创建一个 tf.data.Dataset。

数据框如下所示: 训练数据

其中三个选项是编码字符串,答案是对应于选项 A、B 或 C 的整数。

我们尝试使用以下方法制作一个 tf.dataset:

features= ['OptionA', 'OptionB', 'OptionC']

training_dataset = (
    tf.data.Dataset.from_tensor_slices(
        (
            tf.cast(train_data[features].values, tf.float32),
            tf.cast(train_data['Answer'].values, tf.int32)
        )
    )
)

但是,这不起作用,因为我们收到以下错误:

ValueError:无法将 NumPy 数组转换为张量(不支持的对象类型列表)。

我读过我们不能将列表用作 tf.dtype,我们现在在其中放置了“float32”。但是我们也不能将数据框中的列表转换为浮点数。

如果有人能指出我们正确的方向,我们将不胜感激!提前致谢!

4

1 回答 1

0
features = np.asarray(features).astype('float32')

应该管用。

Tensorflow - ValueError:无法将 NumPy 数组转换为张量(不支持的对象类型浮点数)

^这里的顶级解决方案有更深入的答案。

于 2020-12-12T21:53:56.117 回答