如何使用 Python 和 TensorFlow 加载伊利亚特数据集?


TensorFlow 是 Google 提供的一个机器学习框架。它是一个开源框架,与 Python 结合使用,可以实现算法、深度学习应用程序等等。它被用于研究和生产目的。

张量是 TensorFlow 中使用的一种数据结构。它有助于连接流图中的边。此流图称为“数据流图”。张量只不过是多维数组或列表。

它们可以通过三个主要属性来识别:

  • - 它描述了张量的维数。可以理解为张量的阶数或已定义张量的维数。

  • 类型 - 它描述了与张量元素关联的数据类型。它可以是一维、二维或 n 维张量。

  • 形状 - 它是行数和列数的总和。

我们将使用伊利亚特数据集,其中包含 William Cowper、Edward(Derby 伯爵)和 Samuel Butler 三部翻译作品的文本数据。该模型经过训练,可以在给出一行文本时识别翻译者。使用的文本文件已进行预处理。这包括删除文档的页眉和页脚、行号和章节标题。

我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 是建立在 Jupyter Notebook 之上的。

示例

以下是代码片段:

def labeler(example, index):
   return example, tf.cast(index, tf.int64)
print(“An empty list has been created”)
labeled_data_sets = []
print(“Iterate through the file names and create a dataset from text file using ‘TextLineDataset’
method”)
for i, file_name in enumerate(FILE_NAMES):
   lines_dataset = tf.data.TextLineDataset(str(parent_dir/file_name))
   labeled_dataset = lines_dataset.map(lambda ex: labeler(ex, i))
   labeled_data_sets.append(labeled_dataset)

代码来源 - https://tensorflowcn.cn/tutorials/load_data/text

输出

An empty list has been created
Iterate through the file names and create a dataset from text file using ‘TextLineDataset’ method

解释

  • 使用“TextLineDataset”,它从文本文件创建一个 tf.data.Dataset。

  • 每个示例都是原始文件的一行文本。

  • “text_dataset_from_directory”将文件的内容视为单个示例。

  • 当处理基于行的文本数据时,TextLineDataset 很有用。

  • 遍历这些文件并将每一行加载到它自己的数据集中。

  • 每个示例都应单独标记,因此使用“tf.data.Dataset.map”将标记函数应用于每一行。

  • 这将遍历数据集中每个示例,并返回 (示例,标签) 对作为输出。

更新于: 2021年1月19日

105 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告