PyTorch — это инфраструктура глубокого обучения с открытым исходным кодом, созданная для обеспечения гибкости и модульности исследований, а также стабильности и поддержки, необходимых для производственного развертывания. PyTorch предоставляет пакет Python для функций высокого уровня, таких как тензорные вычисления (например, NumPy) с мощным ускорением графического процессора и TorchScript для простого перехода между режимом ожидания и режимом графика. В последнем выпуске PyTorch платформа обеспечивает выполнение на основе графа, распределенное обучение, мобильное развертывание и квантование. — МетаИИ

Выборка — это статистический процесс, при котором из совокупности выбирается подмножество для изучения всей совокупности.

В PyTorch есть много функций выборки, в этой статье мы рассмотрим некоторые из них.

Список функций: -

  • факел.бернулли()
  • факел.Tensor.cauchy_()
  • факел.пуассон()
  • факел.нормальный()
  • факел.rand()

факел.bernoulli() :

Распределение Бернулли — это дискретное распределение с двумя исходами, то есть успехом и неудачей. Если вероятность успеха определяется как p, то неудача определяется как (1-p) или наоборот.

Реализация PyTorch и соответствующие результаты приведены ниже:

a = torch.empty(3, 3).uniform_(0, 1)
print(a)

Выход :

tensor([[0.0966, 0.7385, 0.6546],
        [0.4255, 0.8294, 0.8315],
        [0.8065, 0.8228, 0.6467]])

Теперь применим функцию bernolli() к тензору

torch.bernoulli(a)

Выход:

tensor([[0., 1., 1.],
        [1., 1., 0.],
        [1., 0., 1.]])

факел.Tensor.cauchy_()

Распределение Коши, также известное как распределение Коши-Лоренца, в статистике, непрерывная функция распределения с двумя параметрами, впервые изученная в начале 19 века французским математиком Огюстеном-Луи Коши. Позже его применил голландский физик XIX века Хендрик Лоренц для объяснения вынужденного резонанса или колебаний. На первый взгляд распределение Коши может выглядеть как нормальное распределение, но его хвосты сужаются не так быстро, как хвосты нормального распределения. — Bitannica.com

Хотя распределение Коши может выглядеть как нормальное распределение, оно имеет более высокий пик, чем распределение Гаусса, и, в отличие от нормального распределения, его толстые хвосты затухают гораздо медленнее.

https://i.stack.imgur.com/zGTLU.png

a = torch.ones(3, 3) 
a

Выход:

tensor([[1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.]])

Теперь мы применяем функцию Tensor.cauchy_()

torch.Tensor.cauchy_(a)

Выход:

tensor([[-4.5374,  0.3726,  0.4947],
        [ 0.4111,  0.9167,  0.7214],
        [ 1.0533, -9.2247,  0.7620]])

факел.пуассон()

Распределение Пуассона используется для расчета вероятности того, что событие произойдет определенное количество раз по средней скорости значения (времени). Распределение Пуассона — это дискретное распределение вероятностей.

a = torch.rand(4, 4) * 5  # rate parameter between 0 and 5
torch.poisson(a)

Выход :

tensor([[2., 1., 0., 8.],
        [2., 3., 3., 3.],
        [0., 0., 1., 6.],
        [0., 5., 3., 3.]])

факел.нормальный()

Нормальное распределение, также известное как распределение Гаусса, представляет собой непрерывную функцию распределения независимых случайных величин. Распределение имеет колоколообразную кривую, характеризующуюся двумя параметрами: средним, которое является максимумом графика и относительно которого график всегда симметричен; и стандартное отклонение, которое определяет степень отклонения от среднего значения.

torch.normal(mean=torch.arange(1., 11.), std=torch.arange(1, 0, -0.1))

Выход :

tensor([-0.6932,  2.3833,  2.3547,  3.8103,  5.4436,  5.8295,  7.5898,  8.4793,
         9.1938, 10.0637])

факел.rand()

PyTorch torch.randn() возвращает тензор, определяемый переменным размером аргумента (последовательность целых чисел, определяющая форму выходного тензора), содержащий случайные числа из стандартного нормального распределения.

Стандартное нормальное распределение, также называемое z-распределением, представляет собой специальное нормальное распределение, где среднее значение равно 0, а стандартное отклонение равно 1.

torch.randn(4,4)

Выход:

tensor([[-1.3119, -0.2177, -0.2496,  0.2361],
        [-1.2755, -0.2271,  1.5297,  0.6433],
        [-0.4198, -0.9269, -0.6260, -0.9713],
        [ 0.6730, -1.2400,  2.1338,  0.2051]])

Ссылка на мой репозиторий на github: —

pytorch_for_beginners/SamplingFunctions.ipynb в основном · debg48/pytorch_for_beginners

Справочные ссылки

Если вы нашли эту статью полезной, пожалуйста, нажмите несколько аплодисментов. Вы можете связаться со мной через :

LinkedIn: https://www.linkedin.com/in/debgandhar-ghosh-1515281b4

Гитхаб: https://github.com/debg48

MailID: [email protected]