Что такое Pytorch?
- PyTorch - это библиотека машинного обучения с открытым исходным кодом, основанная на библиотеке Torch, используемая для таких приложений, как компьютерное зрение и обработка естественного языка, в основном разработанная исследовательской лабораторией Facebook AI Research (FAIR). Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное под модифицированной лицензией BSD. Хотя интерфейс Python более совершенен и является основным направлением разработки, PyTorch также имеет интерфейс C ++.
- Ряд программ глубокого обучения построен на основе PyTorch, в том числе Uber's Pyro, HuggingFace’s Transformers и Catalyst.
- Это также одна из предпочтительных платформ для исследования глубокого обучения, созданная для обеспечения максимальной гибкости и скорости. Он известен тем, что предоставляет две самые высокоуровневые функции; а именно тензорные вычисления с сильной поддержкой ускорения графического процессора и построение глубоких нейронных сетей на ленточных системах автоградации.
- Пыточ Официальный сайт.
Что такое тензор?
- PyTorch Tensor в основном такой же, как массив numpy: он ничего не знает о глубоком обучении, вычислительных графах или градиентах и представляет собой просто общий n-мерный массив, который используется для произвольных числовых вычислений.
- Самая большая разница между массивом numpy и PyTorch Tensor заключается в том, что PyTorch Tensor может работать как на CPU, так и на GPU.
Давайте посмотрим на некоторые математические операции в тензорах Pytorch:
Для начала вам нужно установить библиотеку torch. Установите его с помощью следующих команд в блокноте jupyter:
!conda install pytorch cpuonly -c pytorch -y
Импортировать библиотеку резака:
import torch
Математические операции:
1. torch.abs ()
torch.abs (вход, выход = Нет) → Тензор
Эта функция вычисляет поэлементно абсолютное значение заданного входного тензора, то есть возвращает все положительные значения входных данных.
out = | ввод |
Параметры
- input (Tensor) - входной тензор.
- out (Tensor, необязательно) - выходной тензор.
Пример :
In[] : torch.abs(torch.tensor([-10, -22, 3]))
Out[] : tensor([10, 22, 3])
2. torch.add ()
torch.add (input, other, out = None)
Эта функция добавляет скаляр к каждому элементу ввода и возвращает новый результирующий тензор.
out = ввод + другое
Параметры
- input (Tensor) - входной тензор.
- value (Number) - число, которое будет добавлено к каждому элементу ввода
Пример :
In[] : a = torch.randn(3) a Out[] : tensor([-2.5680, -0.8406, 0.2862])
In[] : torch.add(a, 20) Out[] : tensor([17.4320, 19.1594, 20.2862])
3. torch.sub ()
torch.sub (input, other, out = None) → Тензор
Эта функция вычитает скаляр из другого к каждому элементу ввода и возвращает новый результирующий тензор.
out = input - другое
Параметры
- input (Tensor) - входной тензор.
- other (Number) - число, которое нужно вычесть к каждому элементу ввода
Пример :
In[] : a = torch.randn(3) a Out[] : tensor([ 1.7225, 0.5430, -1.1199])
In[] : torch.sub(a,4) Out[] : tensor([-2.2775, -3.4570, -5.1199])
4. torch.div ()
torch.div (input, other, out = None) → Тензор
Эта функция делит каждый элемент ввода на другой скаляр и возвращает новый результирующий тензор.
out = ввод / другое
Параметры
- input (Tensor) - входной тензор.
- другой (Число) - число, которое нужно разделить на каждый элемент ввода
Пример :
In[] : a = torch.randn(5) a Out[] : tensor([ 0.1227, -0.0442, 2.6160, 1.6794, 1.5719])
In[] : torch.div(a, 0.2) Out[] : tensor([ 0.6136, -0.2208, 13.0801, 8.3970, 7.8596])
5. torch.mul ()
torch.mul (вход, прочее, выход = Нет)
Эта функция умножает каждый элемент входного ввода на другой скаляр и возвращает новый результирующий тензор.
out = ввод * другое
Параметры
- input (Tensor) - входной тензор.
- other (Number) - число, которое нужно умножить на каждый элемент ввода
Пример :
In[] : a = torch.randn(3) a Out[] : tensor([ 0.2845, -1.0132, 0.2563])
In[] : torch.mul(a, 5) Out[] : tensor([ 1.4227, -5.0661, 1.2814])
6. torch.neg ()
torch.neg (вход, выход = Нет) → Тензор
Эта функция возвращает новый тензор с отрицательным из элементов input.
выход = -1 × вход
Параметры
- input (Tensor) - входной тензор.
- out (Tensor, необязательно) - выходной тензор.
Пример :
In[] : a = torch.randn(3) a Out[] : tensor([ 1.0753, 0.5619, -2.2713])
In[] : torch.neg(a) Out[] : tensor([-1.0753, -0.5619, 2.2713])
7. torch.pow ()
torch.pow (вход, показатель степени, выход = Нет) → Тензор
Он принимает мощность каждого элемента на входе с показателем степени и возвращает тензор с результатом.
экспонента может быть либо одним числом с плавающей запятой, либо тензором с тем же числом элементов, что и вход.
out = input ^ экспонента
Параметры
- input (Tensor) - входной тензор.
- exponent (float или tenor) - показатель степени
- out (Tensor, необязательно) - выходной тензор.
Пример :
In[] : a = torch.arange(1., 6.) a Out[] : tensor([1., 2., 3., 4., 5.])
In[] : torch.pow(a, 2) Out[] : tensor([ 1., 4., 9., 16., 25.])
8. torch.reciprocal ()
torch.reciprocal (вход, выход = Нет) → Тензор
Эта функция возвращает новый тензор, обратно пропорциональный входным элементам.
выход = 1 / вход
Параметры
- input (Tensor) - входной тензор.
- out (Tensor, необязательно) - выходной тензор.
Пример :
In[] : a = torch.randn(5) a Out[] : tensor([ 0.2661, -1.2168, 1.6755, 0.5949, -0.2095])
In[] : torch.reciprocal(a) Out[] : tensor([ 3.7579, -0.8218, 0.5968, 1.6811, -4.7739])
9. torch.remainder ()
torch.remainder (input, other, out = None) → Тензор
Эта функция вычисляет поэлементный остаток от деления. Делитель и делимое могут содержать как целые числа, так и числа с плавающей запятой. У остатка тот же знак, что и у делителя.
out = ввод% другой
Параметры
- input (Tensor) - дивиденд
- other (Tensor или float) - делитель, который может быть числом или тензором той же формы, что и делимое
- out (Tensor, необязательно) - выходной тензор.
Пример :
In[] : torch.remainder(torch.tensor([-30., -12, -10, 11, 22, 3]), 2)
Out[] : tensor([0., 0., 0., 1., 0., 1.])
10. torch.square ()
torch.square (вход, выход = Нет) → Тензор
Эта функция возвращает новый тензор с квадратом входных элементов.
выход = вход * вход
Параметры
- input (Tensor) - входной тензор.
- out (Tensor, необязательно) - выходной тензор.
Пример :
In[] : a = torch.randn(4) a Out[] : tensor([ 1.1735, -0.9121, 0.0543, -0.5389])
In[] : torch.square(a) Out[] : tensor([1.3772, 0.8320, 0.0029, 0.2905])
Вывод :
Теперь мы знаем 10 различных функций математических операций, которые предопределены в тензорах Pytorch. Это всего 10 функций, а на официальном сайте документации pytorch их гораздо больше. Надеюсь, что эти функции помогут узнать что-то новое сегодня.
Ресурс:
- Вы можете узнать больше на официальном сайте Pytorch.
- Моя личная записная книжка Jovain
Примечание: практика делает мужчину совершенным. Так что попрактикуйтесь в этих, всех функциях, чтобы вы могли с ними ознакомиться.