從目錄中的文本文件生成tf.data.Dataset
。
用法
tf.keras.utils.text_dataset_from_directory(
directory, labels='inferred', label_mode='int',
class_names=None, batch_size=32, max_length=None, shuffle=True, seed=None,
validation_split=None, subset=None, follow_links=False
)
參數
-
directory
數據所在的目錄。如果labels
是"inferred",它應該包含子目錄,每個子目錄都包含一個類的文本文件。否則,目錄結構將被忽略。 -
labels
"inferred"(從目錄結構生成標簽)、None(無標簽)或與目錄中找到的文本文件數量相同大小的整數標簽列表/元組。標簽應根據文本文件路徑的字母數字順序排序(通過 Python 中的os.walk(directory)
獲得)。 -
label_mode
- 'int':means that the labels are encoded as integers (e.g. for `sparse_categorical_crossentropy` loss).
- 'categorical' 表示標簽被編碼為分類向量(例如,對於
categorical_crossentropy
損失)。 - 'binary' 表示標簽(隻能有 2 個)被編碼為值為 0 或 1 的
float32
標量(例如,對於binary_crossentropy
)。 - 無(無標簽)。
- 'categorical' 表示標簽被編碼為分類向量(例如,對於
-
class_names
僅當 "labels" 為 "inferred" 時才有效。這是類名的顯式列表(必須與子目錄的名稱匹配)。用於控製類的順序(否則使用字母數字順序)。 -
batch_size
數據批次的大小。默認值:32。如果None
,數據將不會被批處理(數據集將產生單個樣本)。 -
max_length
文本字符串的最大大小。超過此長度的文本將被截斷為max_length
。 -
shuffle
是否打亂數據。默認值:真。如果設置為 False,則按字母數字順序對數據進行排序。 -
seed
用於洗牌和轉換的可選隨機種子。 -
validation_split
0 到 1 之間的可選浮點數,保留用於驗證的數據的一部分。 -
subset
"training" 或 "validation" 之一。僅在設置validation_split
時使用。 -
follow_links
是否訪問符號鏈接指向的子目錄。默認為假。
返回
-
A tf.data.Dataset對象。
- 如果
label_mode
為 None,它會產生形狀為(batch_size,)
的string
張量,其中包含一批文本文件的內容。 - 否則,它會產生一個元組
(texts, labels)
,其中texts
具有形狀(batch_size,)
和labels
遵循下麵說明的格式。
- 如果
如果你的目錄結構是:
main_directory/
...class_a/
......a_text_1.txt
......a_text_2.txt
...class_b/
......b_text_1.txt
......b_text_2.txt
然後調用 text_dataset_from_directory(main_directory, labels='inferred')
將返回一個 tf.data.Dataset
,它會從子目錄 class_a
和 class_b
中生成批量文本,以及標簽 0 和 1(0 對應於 class_a
,1 對應於 class_b
)。
目前僅支持 .txt
文件。
關於標簽格式的規則:
- 如果
label_mode
是int
,則標簽是形狀為(batch_size,)
的int32
張量。 - 如果
label_mode
是binary
,則標簽是形狀為(batch_size, 1)
的 1 和 0 的float32
張量。 - 如果
label_mode
是categorial
,則標簽是形狀為(batch_size, num_classes)
的float32
張量,表示類索引的 one-hot 編碼。
相關用法
- Python tf.keras.utils.timeseries_dataset_from_array用法及代碼示例
- Python tf.keras.utils.to_categorical用法及代碼示例
- Python tf.keras.utils.custom_object_scope用法及代碼示例
- Python tf.keras.utils.deserialize_keras_object用法及代碼示例
- Python tf.keras.utils.array_to_img用法及代碼示例
- Python tf.keras.utils.get_file用法及代碼示例
- Python tf.keras.utils.experimental.DatasetCreator用法及代碼示例
- Python tf.keras.utils.set_random_seed用法及代碼示例
- Python tf.keras.utils.plot_model用法及代碼示例
- Python tf.keras.utils.get_custom_objects用法及代碼示例
- Python tf.keras.utils.pack_x_y_sample_weight用法及代碼示例
- Python tf.keras.utils.img_to_array用法及代碼示例
- Python tf.keras.utils.image_dataset_from_directory用法及代碼示例
- Python tf.keras.utils.get_registered_object用法及代碼示例
- Python tf.keras.utils.SidecarEvaluator用法及代碼示例
- Python tf.keras.utils.load_img用法及代碼示例
- Python tf.keras.utils.SequenceEnqueuer用法及代碼示例
- Python tf.keras.utils.unpack_x_y_sample_weight用法及代碼示例
- Python tf.keras.applications.inception_resnet_v2.preprocess_input用法及代碼示例
- Python tf.keras.metrics.Mean.merge_state用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.utils.text_dataset_from_directory。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。