PyTorch - Терминология

В этой главе мы обсудим некоторые из наиболее часто используемых терминов в PyTorch.

PyTorch NumPy

Тензор PyTorch идентичен массиву NumPy. Тензор - это n-мерный массив, и по отношению к PyTorch он предоставляет множество функций для работы с этими тензорами.

Тензоры PyTorch обычно используют графические процессоры для ускорения своих числовых вычислений. Эти тензоры, созданные в PyTorch, можно использовать для согласования двухуровневой сети со случайными данными. Пользователь может вручную реализовать прямой и обратный проходы по сети.

Переменные и автоград

При использовании автограда прямой проход вашей сети будет определять computational graph - узлы в графе будут тензорами, а ребра будут функциями, которые производят выходные тензоры из входных тензоров.

PyTorch Tensors может быть создан как переменный объект, где переменная представляет узел в вычислительном графе.

Динамические графики

Статические графики хороши тем, что пользователь может оптимизировать график заранее. Если программисты повторно используют один и тот же граф снова и снова, то эту потенциально дорогостоящую предварительную оптимизацию можно поддерживать, поскольку один и тот же граф повторяется снова и снова.

Основное различие между ними заключается в том, что вычислительные графы Tensor Flow статичны, а PyTorch использует динамические вычислительные графы.

Оптимальный пакет

Пакет optim в PyTorch абстрагирует идею алгоритма оптимизации, который реализуется многими способами, и предоставляет иллюстрации часто используемых алгоритмов оптимизации. Это можно вызвать в операторе импорта.

Многопроцессорность

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