1. 程式人生 > >tensorflow-tf.data(1)

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,以防止生成更小的批。