nvidia.dali.fn.experimental.readers.fits#
- nvidia.dali.fn.experimental.readers.fits(*, bytes_per_sample_hint=[0], dont_use_mmap=False, dtypes=None, file_filter='*.fits', file_list=None, file_root=None, files=None, hdu_indices=[2], initial_fill=1024, lazy_init=False, num_shards=1, pad_last_batch=False, prefetch_queue_depth=1, preserve=False, random_shuffle=False, read_ahead=False, seed=-1, shard_id=0, shuffle_after_epoch=False, skip_cached_images=False, stick_to_shard=False, tensor_init_bytes=1048576, device=None, name=None)#
从目录读取 Fits 图像 HDU。
此操作符可以在以下模式中使用
读取由
file_root
指示的目录中与给定file_filter
匹配的所有文件。从
file_list
参数中指示的文本文件读取文件名。读取
files
参数中列出的文件。
4. 每个样本的输出数量对应于
hdu_indices
参数的长度。默认情况下,从每个文件读取第一个带有数据的 HDU,因此输出数量默认为 1。- 支持的后端
‘cpu’
‘gpu’
- 关键字参数:
bytes_per_sample_hint¶ (int 或 int 列表, 可选, 默认值 = [0]) –
每个样本的输出大小提示,以字节为单位。
如果指定,则将预先分配驻留在 GPU 或页锁定主机内存中的操作符输出,以容纳此大小的样本批次。
dont_use_mmap¶ (bool, 可选, 默认值 = False) –
如果设置为 True,Loader 将使用普通文件 I/O,而不是尝试在内存中映射文件。
当访问本地文件系统时,映射提供小的性能优势,但大多数网络文件系统不提供最佳性能。
dtypes¶ (DALIDataType 或 DALIDataType列表, 可选) –
各个输出的数据类型。
如果指定,则必须是各个输出的类型列表。默认情况下,所有输出都假定为 UINT8。”
file_filter¶ (str, 可选, 默认值 = ‘*.fits’) –
如果指定了值,则该字符串被解释为 glob 字符串,以过滤
file_root
的子目录中的文件列表。file_list¶ (str, 可选) –
文本文件的路径,其中包含文件名(每行一个)。文件名相对于文本文件的位置或
file_root
(如果指定)。此参数与
files
互斥。file_root¶ (str, 可选) –
包含数据文件的目录的路径。
如果不使用
file_list
或files
。将遍历此目录以发现文件。在这种操作模式下,file_root
是必需的。files¶ (str 或 str列表, 可选) –
要从中读取数据的 文件路径列表。
如果提供了
file_root
,则路径被视为相对于它的路径。此参数与
file_list
互斥。hdu_indices¶ (int 或 int 列表, 可选, 默认值 = [2]) – 要读取的 HDU 索引。如果未提供,将生成主 HDU 之后的第一个 HDU。由于 HDU 的索引从 1 开始,因此默认值如下:hdu_indices = [2]。提供的列表 hdu_indices 的大小定义了每个样本的输出数量。
initial_fill¶ (int, 可选, 默认值 = 1024) –
用于洗牌的缓冲区的大小。
如果
random_shuffle
为 False,则忽略此参数。lazy_init¶ (bool, 可选, 默认值 = False) – 仅在第一次运行时(而不是在构造函数中)解析和准备数据集元数据。
num_shards¶ (int, 可选, 默认值 = 1) –
将数据划分为指定数量的部分(分片)。
这通常用于多 GPU 或多节点训练。
pad_last_batch¶ (bool, 可选, 默认值 = False) –
如果设置为 True,则通过重复最后一个样本来填充分片。
注意
如果各个分片之间的批次数量不同,则此选项可能会导致将一整批重复样本添加到数据集中。
prefetch_queue_depth¶ (int, 可选, 默认值 = 1) –
指定内部 Loader 要预取的批次数量。
当 pipeline 受 CPU 阶段限制时,应增加此值,以内存消耗换取与 Loader 线程更好的交错。
preserve¶ (bool, 可选, 默认值 = False) – 即使操作符的输出未使用,也阻止将其从图中删除。
random_shuffle¶ (bool, 可选, 默认值 = False) –
确定是否随机洗牌数据。
使用大小等于
initial_fill
的预取缓冲区按顺序读取数据,然后随机选择样本以形成批次。read_ahead¶ (bool, 可选, 默认值 = False) –
确定是否应预读访问的数据。
对于 LMDB、RecordIO 或 TFRecord 等大型文件,此参数会减慢第一次访问速度,但会减少所有后续访问的时间。
seed¶ (int, 可选, 默认值 = -1) – 随机种子;如果未设置,将自动分配一个。
shard_id¶ (int, 可选, 默认值 = 0) – 要读取的分片的索引。
shuffle_after_epoch¶ (bool, 可选, 默认值 = False) –
如果设置为 True,则读取器在每个 epoch 后对整个数据集进行洗牌。
当此参数设置为 True 时,不能使用
stick_to_shard
和random_shuffle
。skip_cached_images¶ (bool, 可选, 默认值 = False) –
如果设置为 True,则当样本在解码器缓存中时,将跳过加载数据。
在这种情况下,加载器的输出将为空。
stick_to_shard¶ (bool, 可选, 默认值 = False) –
确定读取器是否应坚持数据分片,而不是遍历整个数据集。
如果使用解码器缓存,它可以显着减少要缓存的数据量,但可能会影响训练的准确性。
tensor_init_bytes¶ (int, 可选, 默认值 = 1048576) – 每个图像要分配多少内存的提示。