tf.contrib.training.stratified_sample
Случайно создаёт пакеты данных на основе вероятностей по классам.
tf.contrib.training.stratified_sample(
tensors, labels, target_probs, batch_size, init_probs=None, enqueue_many=False,
queue_capacity=16, threads_per_queue=1, name=None
)
Этот метод отбрасывает примеры. Внутренне он создаёт одну очередь для амортизации затрат на чтение с диска и одну очередь для хранения пакета с надлежащим распределением по классам.
| Аргументы | |
|---|---|
tensors | Список тензоров для данных. Все тензоры являются либо одним элементом, либо пакетом, в соответствии с enqueue_many. |
labels | Тензор для метки данных. Метка — это целое число или пакет, в зависимости от enqueue_many. Это не вектор one-hot. |
target_probs | Целевые доли классов в пакете. Объект, тип которого имеет зарегистрированную функцию преобразования тензора. |
batch_size | Размер возвращаемого пакета. |
init_probs | Доли классов в данных. Объект, тип которого имеет зарегистрированную функцию преобразования тензора, или None для оценки начального распределения. |
enqueue_many | Булево значение. Если True, интерпретировать входные тензоры как имеющие размерность пакета. |
queue_capacity | Ёмкость большой очереди, содержащей входные примеры. |
threads_per_queue | Количество потоков для большой очереди, хранящей входные примеры, и для конечной очереди с надлежащим распределением по классам. |
name | Необязательный префикс для операций, созданных этой функцией. |
| Исключения | |
|---|---|
ValueError | Если tensors не является итерируемым. |
ValueError | enqueue_many равно True, и метки не имеют размерности пакета, или если enqueue_many равно False, и метки не являются скаляром. |
ValueError | enqueue_many равно True, и размерность пакета для данных и меток не совпадает. |
ValueError | если вероятности не суммируются до единицы. |
ValueError | если класс с нулевой начальной вероятностью имеет ненулевую целевую вероятность. |
TFAssertion | если метки не являются целыми числами в диапазоне [0, число классов). |
| Возвращаемое значение | |
|---|---|
(data_batch, label_batch), где data_batch — список тензоров той же длины, что и tensors |
Пример:
Получение тензора для одного примера данных и метки.
data, label = data_provider.Get(['data', 'label'])
Получение пакет данных с иерархией, соответствующей вероятности по классам.
target_probs = [...распределение, которое вы хотите...] [data_batch], labels = tf.contrib.training.stratified_sample( [data], label, target_probs)
Запуск пакета через сеть.
...
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/training/stratified_sample