如何使用 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://www.tensorflow.org/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 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告