如何使用Python加载Illiad数据集的Tensorflow?
TensorFlow是由Google提供的机器学习框架。它是一个开源框架,与Python一起用于实现算法、深度学习应用程序等。它在研究和生产中被广泛应用。
Tensor是TensorFlow中使用的数据结构。它有助于连接流程图中的边缘。这个流程图被称为“数据流图”。Tensor只是一个多维数组或列表。
可以使用三个主要属性来识别它们:
- Rank - 它告诉我们张量的维数。它可以被理解为张量的阶或定义的张量中的维数的数量。
-
Type - 它告诉我们与张量元素相关联的数据类型。它可以是一维、二维或n维张量。
-
Shape - 它是行数和列数的总和。
我们将使用Illiad数据集,其中包含来自William Cowper、Edward(Earl of Derby)和Samuel Butler的三部翻译作品的文本数据。该模型在给出一行文本时训练以识别翻译者。所使用的文本文件已被预处理,包括去除文档标题和页眉、行号和章节标题。
我们使用Google Colaboratory来运行以下代码。Google Colab或Colaboratory可以帮助在浏览器上运行Python代码,并且不需要任何配置,可以免费使用GPU(图形处理单元)。Colaboratory是建立在Jupyter Notebook之上的。
更多Python相关文章,请阅读:Python 教程
示例
以下是代码片段-
def labeler(example, index):
return example, tf.cast(index, tf.int64)
print(“创建一个空列表")
labeled_data_sets = []
print("通过使用'TextLineDataset'方法迭代文件名并从文本文件创建数据集")
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://www.tensorflow.org/tutorials/load_data/text
输出
创建一个空列表
通过使用'TextLineDataset'方法迭代文件名并从文本文件创建数据集
解释
-
使用’TextLineDataset’,该函数会从文本文件创建一个tf.data.A数据集。
-
每个例子都是来自原始文件的一行文本。
-
‘text_dataset_from_directory’将文件的内容视为单个示例。
-
TextLineDataset在处理以行为基础的文本数据时非常有用。
-
遍历这些文件并将每一行加载到它自己的数据集中。
-
每个例子都应该被单独标记,所以使用’tf.data.Dataset.map’将标签函数应用于每一行。
-
这将遍历数据集中的每个示例,并将(example, label)对作为输出返回。
极客教程