Merger

Warning

Документация к модулю находится в разработке.

Merger – это наследник Provider, задача которого – при необходимости выдавать пачку данных, взятых из нескольких датасетов. Он может это делать, формируя пачку данных в нужных пропорциях из исходных датасетов.

__init__

def __init__(self, datasets, labelIds=None, numofthreads=4)

Создаёт Merger для указанных датасетов. Можно указать, какие лейблы каждому из датасетов необходимо присвоить.

Параметры

Параметр Возможные типы Описание По умолчанию
datasets list Список датасетов. Датасеты – это либо list, либо np.ndarray. -
labelIds list Список из целых чисел. Указывают, какие лейблы присвоить датасетам из datasets. None
numofthreads int Число потоков обработки данных. 4

Возвращаемое значение

Нет.

getNextChunk

def getNextChunk(self, chunksize, **kwargs)

Выдаёт пачку данных размера chunksuze из внутренних датасетов объекта Merger. В параметре kwargs указываются параметры построения пачки данных.

Параметры

Параметр Возможные типы Описание По умолчанию
chunksize int См. описание в prepareData.
**kwargs dict Может содержать поля "ratios", "randomize", "permutate", описание этих параметров см. в prepareData. -

Возвращаемое значение

Тупль из 2-х np.ndarray – data и labels или только data, если labels не были предоставлены при создании объекта Merger.

getRandomChunk

def getRandomChunk(self, chunksize, ratios, permutate)

Набирает случайные данные из датасетов – из случайных мест датасетов. Не следит за сбором уникальных значений.

Параметры

Параметр Возможные типы Описание По умолчанию
chunksize int См. описание в prepareData.
ratios list См. описание в prepareData. -
permutate bool См. описание в prepareData. -

Возвращаемое значение

См. описание в getNextChunk.

getRationedChunk

def getRationedChunk(self, chunksize, ratios, permutate)

Последовательно берёт данные в нужных пропорциях из датасетов.

Параметры

Параметр Возможные типы Описание По умолчанию
chunksize int См. описание в prepareData.
ratios list См. описание в prepareData. -
permutate bool См. описание в prepareData. -

Возвращаемое значение

См. описание в getNextChunk.

deriveChunkRatios

def deriveChunkRatios(ratios, chunksize)

Преобразовывает значения ratios так, что для любого i число ratios[i] – это количество элементов, которые нужно взять из датасета номер i.

Параметры

Параметр Возможные типы Описание По умолчанию
chunksize int См. описание в prepareData.
ratios int См. описание в prepareData. -

Возвращаемое значение

Нет.

prepareData

def prepareData(self, ratios=None, chunksize=20000, randomize=False, permutate=True)

Подготовливает данные из своих датасетов. Вызывает родительский метод Provider.PrepareData, перед этим проверяет, что ratios корректные. Параметры randomize и permutate используются родительским методом только для передачи в метод getNextChunk.

Параметры

Параметр Возможные типы Описание По умолчанию
ratios list Массив из int, длиной – по количеству входных датасетов. Элементы массива указывают, в каких пропорциях необходимо взять данные из датасетов. Если None, то в качестве ratios будет построен массив из единиц. None
chunksize int Длина выдаваемых пачек данных. 20000
randomize bool Если True, то набирает случайные данные из датасетов. Иначе – берёт их последовательно. False
permutate bool Если True, то перемешивает подготовленные данные. True

Возвращаемое значение

Нет.