📜  Tensorflow.js tf.data.CSVDataset 类(1)

📅  最后修改于: 2023-12-03 15:35:17.122000             🧑  作者: Mango

Tensorflow.js tf.data.CSVDataset 类介绍

Tensorflow.js tf.data.CSVDataset 类是一个数据集类,用于从CSV文件中读取数据并返回tf.Tensor。它是Tensorflow.js中tf.data.Dataset API其中之一。它使得我们可以使用CSV数据训练和评估深度神经网络。

CSVDataset 类的创建和参数

我们可以使用tf.data.CSVDataset.from()方法从CSV文件创建tf.data.Dataset实例。此外还可以提供以下参数:

  • csvFilePath: 必需,CSV文件的路径。
  • columnConfigs: 可选,一个字典,其中键是CSV中的列名,值是一个字典,可选择包含以下参数:dtype、defaultValue、oneHot、isLabel等。
  • fieldDelimiter: 可选,CSV文件中的字段分隔符,默认为','。
  • recordDelimiter: 可选,CSV文件中的记录分隔符,默认为\n

示例:

const csvDataset = tf.data.CSVDataset.from('/path/to/data.csv', {
  columnConfigs: {
    'feature1': {dtype: 'float32', defaultValue: 0},
    'feature2': {dtype: 'string', oneHot: true},
    'label': {dtype: 'int32', isLabel: true},
  },
  fieldDelimiter: ',',
  recordDelimiter: '\n',
});
CSVDataset 类的方法和属性

CSVDataset类拥有和其他tf.data.Dataset API一样的方法和属性,例如filter、batch、shuffle等。此外,它还提供了以下独有的方法:

toTensor()

toTensor()方法将CSVDataset实例转换为一个tf.Tensor数组,其中tf.Tensor数组的每个元素都代表一个CSV文件中的记录。

示例:

const tensorDataset = csvDataset.toTensor();
columnNames

columnNames属性是一个字符串数组,其中包含CSV文件中的所有列名。

示例:

console.log(csvDataset.columnNames); // ['feature1', 'feature2', 'label']
总结

通过使用tf.data.CSVDataset类,我们可以轻松地从CSV文件中读取数据,并将其转换为tf.Tensor数组,用于训练和评估深度神经网络模型。