Я использую код, похожий на следующий, для увеличения данных:
from torchvision import transforms
#...
augmentation = transforms.Compose([
transforms.RandomApply([
transforms.RandomRotation([-30, 30])
], p=0.5),
transforms.RandomHorizontalFlip(p=0.5),
])
Во время моего тестирования я хочу исправить случайные значения, чтобы воспроизводить одни и те же случайные параметры каждый раз, когда я изменяю настройки обучения модели. Как мне это сделать?
Я хочу сделать что-то похожее на np.random.seed(0)
, поэтому каждый раз, когда я вызываю случайную функцию с вероятностью в первый раз, она будет работать с тем же углом поворота и вероятностью. Другими словами, если я вообще не меняю код, он должен воспроизвести тот же результат при повторном запуске.
В качестве альтернативы я могу разделить преобразования, использовать p=1
, зафиксировать угол min
и max
для определенного значения и использовать случайные числа numpy для генерации результатов, но мой вопрос, могу ли я сделать это, сохранив код выше без изменений.