W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
繼承自: Dataset
定義在:tensorflow/contrib/data/python/ops/dataset_ops.py.
一個(gè)包含來自一個(gè)或多個(gè)文本文件的行的數(shù)據(jù)集.
__init__(
filenames,
compression_type=None
)
創(chuàng)建一個(gè) TextLineDataset.
batch(batch_size)
將此數(shù)據(jù)集的連續(xù)元素組合成批處理.
返回一個(gè) Dataset.
cache(filename = '')
緩存這個(gè)數(shù)據(jù)集中的元素.
返回一個(gè) Dataset.
concatenate(dataset)
通過將給定的數(shù)據(jù)集與此數(shù)據(jù)集連接來創(chuàng)建數(shù)據(jù)集.
# NOTE: The following examples use `{ ... }` to represent the
# contents of a dataset.
a = { 1, 2, 3 }
b = { 4, 5, 6, 7 }
# Input dataset and dataset to be concatenated should have same
# nested structures and output types.
# c = { (8, 9), (10, 11), (12, 13) }
# d = { 14.0, 15.0, 16.0 }
# a.concatenate(c) and a.concatenate(d) would result in error.
a.concatenate(b) == { 1, 2, 3, 4, 5, 6, 7 }
返回一個(gè) Dataset.
dense_to_sparse_batch(
batch_size,
row_shape
)
將這個(gè)數(shù)據(jù)集的不規(guī)則元素批量放入到 tf.SparseTensors.
與 Dataset.padded_batch() 一樣,此方法將此數(shù)據(jù)集的多個(gè)連續(xù)元素 (可能具有不同的形狀) 合并到單個(gè)元素中.生成的元素有三個(gè)組件 (索引、值和 dense_shape),其中包括一個(gè) tf.SparseTensor 表示相同數(shù)據(jù)的組件.row_shape 表示生成的 tf.SparseTensor 中每一行的稠密形狀,其中有效批量大小被前置.例如:
# 注意:以下示例使用 `{ ... }`來表示數(shù)據(jù)集的內(nèi)容
a = { ['a', 'b', 'c'], ['a', 'b'], ['a', 'b', 'c', 'd'] }
a.dense_to_sparse_batch(batch_size=2, row_shape=[6]) == {
([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1]], # indices
['a', 'b', 'c', 'a', 'b'], # values
[2, 6]), # dense_shape
([[2, 0], [2, 1], [2, 2], [2, 3]],
['a', 'b', 'c', 'd'],
[1, 6])
}
返回一個(gè) Dataset.
enumerate(start=0)
枚舉此數(shù)據(jù)集的元素.類似于 python 的枚舉.
例如:
# NOTE: The following examples use `{ ... }` to represent the
# contents of a dataset.
a = { 1, 2, 3 }
b = { (7, 8), (9, 10), (11, 12) }
# The nested structure of the `datasets` argument determines the
# structure of elements in the resulting dataset.
a.enumerate(start=5) == { (5, 1), (6, 2), (7, 3) }
b.enumerate() == { (0, (7, 8)), (1, (9, 10)), (2, (11, 12)) }
返回一個(gè) Dataset.
filter(predicate)
根據(jù)這個(gè)數(shù)據(jù)集過濾predicate.
返回一個(gè) Dataset.
flat_map(map_func)
將 map_func 映射到這個(gè)數(shù)據(jù)集并拼合結(jié)果.
返回一個(gè) Dataset.
from_sparse_tensor_slices ( sparse_tensor )
在此數(shù)據(jù)集中逐行分割每個(gè)秩為 N 的 tf.SparseTensor .
返回秩為 (N-1) 稀疏張量的數(shù)據(jù)集.
from_tensor_slices (tensors)
創(chuàng)建一個(gè)數(shù)據(jù)集,其元素是給定張量的片段.
返回一個(gè) Dataset.
from_tensors(tensors)
創(chuàng)建一個(gè)包含給定張量的單個(gè)元素的數(shù)據(jù)集.
返回一個(gè) Dataset.
group_by_window(
key_func,
reduce_func,
window_size
)
對(duì)此數(shù)據(jù)集執(zhí)行窗口化的“group-by”操作.
此方法將此數(shù)據(jù)集中的每個(gè)連續(xù)元素映射到使用 key_func 的鍵,并按鍵對(duì)元素進(jìn)行分組.然后,它將 reduce_func 應(yīng)用于與同一密鑰匹配的大多數(shù) window_size 元素.每個(gè)鍵的所有窗口(除了最后一個(gè))將包含 window_size 元素;最后的窗口可能較小.
返回一個(gè) Dataset.
ignore_errors ()
從此項(xiàng)創(chuàng)建數(shù)據(jù)集, 并默默忽略任何錯(cuò)誤.
使用此轉(zhuǎn)換可以生成包含與輸入相同元素的數(shù)據(jù)集, 但會(huì)默默地丟棄導(dǎo)致錯(cuò)誤的任何元素.例如:
dataset = tf.contrib.data.Dataset.from_tensor_slices([1., 2., 0., 4.])
# Computing `tf.check_numerics(1. / 0.)` will raise an InvalidArgumentError.
dataset = dataset.map(lambda x: tf.check_numerics(1. / x, "error"))
# Using `ignore_errors()` will drop the element that causes an error.
dataset = dataset.ignore_errors() # ==> { 1., 0.5, 0.2 }
返回一個(gè) Dataset.
interleave ( map_func , cycle_length , block_length = 1 )
將 map_func 映射到這個(gè)數(shù)據(jù)集,并對(duì)結(jié)果進(jìn)行交織.
例如,您可以使用 Dataset.interleave() 同時(shí)處理多個(gè)輸入文件:
# Preprocess 4 files concurrently, and interleave blocks of 16 records from
# each file.
filenames = ["/var/data/file1.txt", "/var/data/file2.txt", ..."]
dataset = (Dataset.from_tensor_slices(filenames)
.interleave(
lambda x: TextLineDataset(x).map(parse_fn, num_threads=1),
cycle_length=4, block_length=16))
cycle_length 和 block_length 參數(shù)元素的生成順序.cycle_length 控制并發(fā)處理的輸入元素的數(shù)量.如果將cycle_length 設(shè)置為1,則此轉(zhuǎn)換將一次處理一個(gè)輸入元素,并將產(chǎn)生與 tf.contrib.data.Dataset.flat_map 相同的結(jié)果.一般來說,這種轉(zhuǎn)換將應(yīng)用 map_func 到 cycle_length 的輸入元素,在返回的 Dataset 對(duì)象上打開迭代器,并循環(huán)通過它們生成每個(gè)迭代器的 block_length 連續(xù)元素,并在每次到達(dá)迭代器結(jié)束時(shí)使用下一個(gè)輸入元素.
例如:
# 注意: 以下示例使用 `{ ... }` 來表示數(shù)據(jù)集的內(nèi)容.
a = { 1, 2, 3, 4, 5 }
# NOTE: New lines indicate "block" boundaries.
a.interleave(lambda x: Dataset.from_tensors(x).repeat(6),
cycle_length=2, block_length=4) == {
1, 1, 1, 1,
2, 2, 2, 2,
1, 1,
2, 2,
3, 3, 3, 3,
4, 4, 4, 4,
3, 3,
4, 4,
5, 5, 5, 5,
5, 5,
}
返回一個(gè) Dataset.
list_files ( file_pattern )
與模式匹配的所有文件的數(shù)據(jù)集.
示例:如果我們的文件系統(tǒng)上有以下文件: "- /path/to/dir/a.txt - /path/to/dir/b.py - /path/to/dir/c.py" 如果我們傳遞 “/ path / to / dir / *.py“ 作為目錄,數(shù)據(jù)集將產(chǎn)生:" - /path/to/dir/b.py - /path/to/dir/c.py"
與文件名相對(duì)應(yīng)的字符串的數(shù)據(jù)集.
make_dataset_resource ()
make_initializable_iterator(shared_name=None)
創(chuàng)建用于枚舉此數(shù)據(jù)集的元素的迭代器.
返回的迭代器將處于未初始化狀態(tài), 您必須先運(yùn)行 iterator.initializer 操作,然后再使用它.
此數(shù)據(jù)集的元素上的迭代器.
make_one_shot_iterator ()
創(chuàng)建用于枚舉此數(shù)據(jù)集的元素的迭代器.
返回的迭代器將自動(dòng)初始化."one-shot" 迭代器當(dāng)前不支持重新初始化.
此數(shù)據(jù)集的元素上的迭代器.
map ( map_func , num_threads = None , output_buffer_size = None )
將 map_func 映射到這個(gè)數(shù)據(jù)集.
返回一個(gè) Dataset.
padded_batch ( batch_size , padded_shapes , padding_values = None )
將此數(shù)據(jù)集的連續(xù)元素合并為填充的批處理.
與數(shù)據(jù)集 dense_to_sparse_batch () 一樣, 此方法將此數(shù)據(jù)集的多個(gè)連續(xù)元素 (可能具有不同的形狀) 合并到單個(gè)元素中.結(jié)果元素中的張量有一個(gè)額外的外部維度, 并填充到 padded_shapes 中的相應(yīng)形狀.
返回一個(gè) Dataset.
range(*args)
創(chuàng)建一個(gè)分步分隔的值范圍的數(shù)據(jù)集.
例如:
Dataset.range(5) == [0, 1, 2, 3, 4]
Dataset.range(2, 5) == [2, 3, 4]
Dataset.range(1, 5, 2) == [1, 3]
Dataset.range(1, 5, -2) == []
Dataset.range(5, 1) == []
Dataset.range(5, 1, -2) == [5, 3]
* args:遵循與 python 的 xrange 相同的語義.len(args)== 1 - > start = 0,stop = args [0],step = 1 len(args)== 2 - > start = args [0],stop = args [1],step = 1 len (args)== 3 - > start = args [0],stop = args [1,stop = args [2]
返回一個(gè) RangeDataset.
read_batch_features ( file_pattern , batch_size , features , reader , reader_args = None , randomize_input = True , num_epochs = None , capacity = 10000 )
讀取批次的示例.
返回一個(gè) Dataset.
repeat(count=None)
重復(fù)此數(shù)據(jù)集的 count 次數(shù).
返回一個(gè) Dataset.
shuffle(
buffer_size,
seed=None
)
隨機(jī)地打亂此數(shù)據(jù)集的元素.
返回一個(gè) Dataset.
skip(count)
創(chuàng)建一個(gè)從該數(shù)據(jù)集中跳過計(jì)數(shù)元素的數(shù)據(jù)集.
返回一個(gè) Dataset.
take(count)
使用此數(shù)據(jù)集中的最多的 count 元素創(chuàng)建數(shù)據(jù)集.
返回一個(gè) Dataset.
unbatch()
將此數(shù)據(jù)集的元素拆分為連續(xù)元素的序列.
例如,如果此數(shù)據(jù)集的元素被塑造為 [B, a0, a1, ...],其中 B 可能會(huì)因元素而異,那么對(duì)于此數(shù)據(jù)集中的每個(gè)元素,未分割數(shù)據(jù)集將包含 B 連續(xù)的形狀元素 [a0, a1, ...].
返回一個(gè) Dataset.
zip (datasets)
通過將給定數(shù)據(jù)集壓縮在一起來創(chuàng)建數(shù)據(jù)集.
此方法與 Python 中的內(nèi)置 zip () 函數(shù)具有相似的語義,主要區(qū)別在于數(shù)據(jù)集參數(shù)可以是數(shù)據(jù)集對(duì)象的任意嵌套結(jié)構(gòu).例如:
# NOTE: The following examples use `{ ... }` to represent the
# contents of a dataset.
a = { 1, 2, 3 }
b = { 4, 5, 6 }
c = { (7, 8), (9, 10), (11, 12) }
d = { 13, 14 }
# The nested structure of the `datasets` argument determines the
# structure of elements in the resulting dataset.
Dataset.zip((a, b)) == { (1, 4), (2, 5), (3, 6) }
Dataset.zip((b, a)) == { (4, 1), (5, 2), (6, 3) }
# The `datasets` argument may contain an arbitrary number of
# datasets.
Dataset.zip((a, b, c)) == { (1, 4, (7, 8)),
(2, 5, (9, 10)),
(3, 6, (11, 12)) }
# The number of elements in the resulting dataset is the same as
# the size of the smallest dataset in `datasets`.
Dataset.zip((a, d)) == { (1, 13), (2, 14) }
返回一個(gè) Dataset.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: