Рубрики
Без рубрики

Тенсорные методы Pytorch – Как создавать тензоры в Python

Автор оригинала: Srijan.

Pytorch – это библиотека на основе Python с открытым исходным кодом. Он обеспечивает высокую гибкость и скорость во время строительства, обучения и развертывания глубоких моделей обучения.

В своем ядре Pytorch включает в себя операции с участием тензоры. Tensor – это номер, вектор, матрица или любой n-мерный массив.

В этой статье мы увидим разные способы создания тензоров с использованием методов тензора Pytorch (функций).

Темы мы будем покрывать

  • тензор
  • Zeros
  • те,
  • полный
  • arange.
  • Linspace
  • ранд
  • ранстрин
  • глаз
  • сложный

Метод тензора ()

Этот метод возвращает тензор, когда данные передается к этому. данные Может быть скаляр, кортеж, список или Numpy множество.

В приведенном выше примере Numpy Array, созданный с использованием NP.Arge () был передан на Tensor () Способ, приводящий к 1-D тензоре.

Мы можем создать многомерный тензор, передав кортежи от кортежей, список списков или многомерного множества.

Когда пустой кортеж или список передается в Tensor () это создает пустой тензор.

Метод Zeros ()

Этот метод возвращает тензор, где все элементы являются нулями, указанным Размер (форма). Размер может быть данным в виде кортежа или списка или ни один.

Мы могли бы пройти 3, 2 внутри кортежа или списка также. Это явно объяснимо, что передача негативных чисел или поплавок приведет к ошибке времени выполнения.

Передача пустой кортеж или пустой список дает тензор размера (размерность) 0, имеющий 0 в качестве единственного элемента, тип данных которого плавает.

Метод ()

Похоже на Zeros () , из них () Возвращает тензор, где все элементы 1, указанные Размер (форма). Размер может быть данным в виде кортежа или списка или ни один.

Как Zeros () Прохождение пустого кортежа или списка дает тензор 0 измерений, имея 1 в качестве единственного элемента, тип данных которого плавает.

Полный () метод

Что если вы хотите, чтобы все элементы тензора равны некоторому значению, но не только 0 и 1? Может быть, 2,9?

полный () Возвращает тензор формы, данной Размер аргумент, со всеми его элементами, равными fill_value Отказ

Здесь мы создали тензор формы 3, 2 с fill_value Как и 3. Здесь снова, передавая пустой кортеж или список создает скалярную тензор нулевого измерения.

При использовании полный это необходимо дать Размер как кортеж или список.

Метод Arange ()

Этот метод возвращает тензор 1-D с элементами Начать (включительно) до конец (эксклюзивно) с общей разницей шаг Отказ Значение по умолчанию для Начать 0 пока это за шаг это 1.

Элементы тензора можно сказать, что он Арифметическая прогрессия , с шаг как общая разница.

Здесь мы создали тензор, который начинается с 2 и идет до 20 с шаг (Общая разница) из 2.

Все три параметра, Начать , конец и шаг может быть положительным, отрицательным или поплавкам.

При выборе Начать , конец и шаг нам нужно обеспечить, чтобы Начать и конец согласуются с шаг знак.

С шаг Установлен как -2, нет пути -42 может достигать -22 (эксклюзив). Следовательно, это дает ошибку.

Метод linspace ()

Этот метод возвращает Tensor 1-D разъяснения, с элементами Начать (включительно) до конец (включено). Однако, в отличие от Arange () здесь, Шаги Разве не распространенная разница, а количество элементов, которые должны быть в тензоре.

Pytorch автоматически решает общую разницу в зависимости от Шаги дано.

Не обеспечивает ценность для Шаги устарел. Для обратная совместимость , не обеспечивая ценность для шагов создает тензор с 100 элементы. Согласно официальной документации, в будущем выпуске Pytorch не смогут предоставить значение для шагов, будет выбросить ошибку времени выполнения.

В отличие от Arange () , Linspace может иметь Начать больше чем конец Поскольку общая разница автоматически рассчитывается.

С Шаги Вот не распространенная разница, но количество элементов, это может быть только неотрицательным целым числом.

Метод rand ()

Этот метод возвращает тензор, заполненный случайными числами из равномерного распределения на интервале 0 (включительно) до 1 (эксклюзив). Форма дана Размер аргумент Размер Аргумент может быть дан как кортеж или список или ни один.

Передача пустого кортежа или списка создает скалярную тензор нулевого размера.

Метод randint ()

Этот метод возвращает тензор, заполненный случайным целом, порожденным равномерно между Низкий (включено) и Высокий (эксклюзивно). Форма дана Размер аргумент Значение по умолчанию для Низкий 0.

Когда только один int Аргумент пропускается, Низкий Получает значение 0, по умолчанию и Высокий Получает пропущенную стоимость.

Размер Аргумент принимает только кортеж или список. Пустой кортеж или список создает тензор с нулевым измерением.

Метод глаза ()

Этот метод возвращает тензор 2-D с диагональными и нулями в другом месте. Количество строк дается N и столбцы даны м Отказ

Значение по умолчанию для м это значение N Отказ Когда только N пропущено, это создает тензор в форме матрица личности Отказ Идентификационная матрица имеет свои диагональные элементы как 1 и все остальные как 0.

Метод комплекса ()

Этот метод возвращает сложный тензор с его реальной частью реальный и его воображаемая часть, равная Имашивайте Отказ Оба реальный и Имашивайте тензоры.

Тип данных обоих реальный и Имашивайте Тензуры должны быть либо плавать или Двойной Отказ

Кроме того, Размер обоих тензоров реальный и Имашивайте , должно быть одинаково, поскольку соответствующие элементы двух матриц образуют комплексное число.

Заключение

Мы покрывали десять разных способов создания тензоров с использованием методов Pytorch. Вы можете пройти через Официальная документация Чтобы узнать больше о других методах Pytorch.

Вы можете нажать здесь Чтобы пойти на ноутбук Jupyter, где вы можете играть с этими методами.

Если вы хотите узнать больше о Pytorch, проверьте это Удивительный курс на FreeCodecamp’s YouTube канал.

Оставайся в безопасности!