РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pytoSpRnGn 77 of 82 menu
◀ ▶

Отдельный генератор случайности в PyTorch

Класс Generator хранит своё состояние отдельно от глобального генератора. Ему задают зерно, а числа получают через параметр generator у функций вроде заполнения равномерными значениями.

Создадим объект, зафиксируем на нём зерно и выведем короткий ряд:

import torch gen = torch.Generator() gen.manual_seed(100) row = torch.rand(3, generator=gen) print(row) # выведет tensor([0.1117, 0.8158, 0.2626])

Два разных объекта с разными зёрнами дают разные ряды, даже если глобальное зерно не трогать. Сравним два генератора:

import torch left = torch.Generator() left.manual_seed(5) right = torch.Generator() right.manual_seed(9) print(torch.rand(3, generator=left)) # выведет tensor([0.8303, 0.1261, 0.9075]) print(torch.rand(3, generator=right)) # выведет tensor([0.6558, 0.3020, 0.4799])

Создайте генератор, задайте ему зерно 2, получите ряд из 4 равномерных чисел через этот объект и выведите его.

Создайте два генератора с зёрнами 10 и 20, получите по ряду из 3 равномерных чисел через каждый и выведите оба ряда.

Создайте генератор с зерном 7, дважды подряд получите по одному числу от нуля до единицы через него и выведите оба числа.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить