tensorflow-tf.data(1)
tf.data.Dataset
表示一組可能很大的元素。
資料集可用於將輸入管道表示為元素集合(張量的巢狀結構)和作用於這些元素的轉換的“邏輯計劃”(logical plan)。
建構函式:
init()
屬性:
output_classes
返回此資料集元素的每個元件的類。
期望值是tf.Tensor 和tf.SparseTensor。
返回:
與此資料集元素的每個元件對應的Python型別物件的巢狀結構。
output_shapes
返回此資料集元素的每個元件的形狀。
返回:
一個與此資料集元素的每個元件對應的tf.TensorShape物件。
output_type
返回此資料集元素的每個元件的型別。
返回:
一個與此資料集元素的每個元件對應的tf.DType 物件。
方法
iter
iter()
建立用於列舉此資料集元素的迭代器。
返回的迭代器實現了Python迭代器協議,因此只能在即時模式下使用。
返回:
此資料集元素的迭代器。
丟擲異常:
執行時錯誤:如果不啟用即時執行。
apply
apply(transformation_func)
對此資料集應用轉換函式。
apply支援自定義Dataset轉換的連結,這些轉換被表示為接受一個Dataset引數並返回已轉換Dataset的函式。
dataset = (dataset.map(lambda x: x ** 2) .apply(group_by_window(key_func, reduce_func, window_size)) .map(lambda x: x ** 3))
引數:
transformation_func:一個獲取資料集引數並返回資料集的函式。
返回:
dataset:應用transformation_func返回的資料集。
batch
batch(
batch_size,
drop_remainder=False
)
將此資料集的連續元素組合成批處理。
結果元素中的張量將有一個額外的外部維度,它將是batch_size(或者如果batch_size沒有平均地除以輸入元素的數量N並且drop_remainder為假的話,那麼最後一個元素的數量為N % batch_size)。如果您的程式依賴於具有相同外部維度的批,您應該將drop_餘數引數設定為True,以防止生成更小的批。