В этом блоге будут показаны методы доступа и изменения значений тензоров в PyTorch.
Как получить доступ и изменить значения/контент Tensor в PyTorch?
Чтобы получить и изменить значения тензоров в PyTorch, можно использовать два метода:
Метод 1: доступ и изменение значений тензора с помощью индексации
Индексирование — это способ выбора определенного элемента или диапазона элементов из определенного тензора на основе их положения. Пользователям необходимо использовать квадратные скобки « [ ] » для доступа к элементам по каждому измерению тензора. В случае двумерного тензора доступ к элементам можно получить в строке «i» и столбце «j», используя «tensor[i,j]». Для этого выполните указанные шаги:
Шаг 1. Импортируйте библиотеку PyTorch.
Сначала импортируйте « факел » библиотека:
Импортировать факел
Шаг 2. Создайте тензор
Затем используйте « факел.тензор() » для создания желаемого тензора и печати его элементов. Например, мы создаем 2D-тензор « десятки1 » размерами 2×3:
десятки1 '=' факел. тензор ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )
Распечатать ( десятки1 )
Это создало 2D-тензор, как показано ниже:
Шаг 3. Доступ к значениям тензора с помощью индексации
Теперь получите доступ к нужным значениям тензора по их индексу. Например, мы указали индекс «[1][2]» для « десятки1 », чтобы получить доступ к его значению, и сохранить его в переменной с именем « temp_element ». Это позволит получить доступ к значению, присутствующему во второй строке и третьем столбце:
temp_element '=' десятки1 [ 1 ] [ 2 ]Распечатать ( temp_element )
Здесь: ' [1] ” означает вторую строку и “ [2] ” означает третий столбец, поскольку индексация начинается с “ 0 ».
Можно заметить, что доступ к желаемому значению был получен из тензора, то есть «4»:
Шаг 4. Измените значения тензора с помощью индексации
Чтобы изменить конкретное значение тензора, укажите индекс и выделите новое значение. Здесь мы заменяем значение « [0][1] ” индекс с “ пятнадцать »:
десятки1 [ 0 ] [ 1 ] '=' пятнадцатьРаспечатать ( десятки1 )
Вывод ниже показывает, что указанное значение тензора было успешно изменено:
Метод 2: доступ и изменение значений тензора с помощью срезов
Нарезка — это способ выбора подмножества тензора с одним или несколькими измерениями. Пользователи могут использовать оператор двоеточия «:» для указания начального и конечного индексов среза и размера шага. Чтобы лучше понять это, ознакомьтесь с приведенными ниже шагами:
Шаг 1. Импортируйте библиотеку PyTorch.
Сначала импортируйте « факел » библиотека:
Импортировать факелШаг 2. Создайте тензор
Затем создайте желаемый тензор, используя « факел.тензор() » и распечатайте ее элементы. Например, мы создаем 2D-тензор « десятки2 » размерами 2х3:
десятки2 '=' факел. тензор ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )Распечатать ( десятки2 )
Это создало 2D-тензор:
Шаг 3. Доступ к значениям тензора с помощью срезов
Теперь получите доступ к нужным значениям тензора с помощью нарезки. Например, мы указали индексы «[1]» для «tens1» для доступа к его значениям и сохранения их в переменной с именем « новые_значения ». Это позволит получить доступ ко всем значениям, присутствующим во второй строке:
новые_значения '=' десятки2 [ 1 ]Распечатать ( 'Значения второй строки: ' , новые_значения )
В приведенном ниже выводе все значения, присутствующие во второй строке тензора, были успешно доступны:
Давайте возьмем другой пример, в котором мы получим доступ к значению третьего столбца тензора. Для этого укажите « [:, 2] индексы:
новые_значения2 '=' десятки2 [ : , 2 ]Распечатать ( 'Значения третьего столбца: ' , новые_значения2 )
Это успешно получило доступ и отобразило значения третьего столбца тензора:
Шаг 4. Измените значения тензора с помощью срезов
Чтобы изменить конкретные значения тензора, укажите индексы и выделите новое значение. Здесь мы меняем все значения второй строки тензора. Для этого мы указали « [1] » индексы и выделяем новые значения:
десятки2 [ 1 ] '=' факел. Тензор ( [ 30 , 60 , 90 ] )Распечатать ( 'Модифицированный тензор: ' , десятки2 )
Согласно приведенному ниже выводу, все значения значений второй строки тензора были успешно изменены:
Мы объяснили эффективные методы доступа и изменения значений тензора в PyTorch.
Примечание : Вы можете получить доступ к нашему блокноту Google Colab по этому адресу. связь .
Заключение
Чтобы получить и изменить значения или содержимое тензора в PyTorch, сначала импортируйте библиотеку «факел». Затем создайте желаемый тензор. Затем используйте методы индексации или срезов для доступа и изменения желаемых значений тензора. Для этого укажите индекс индексов соответственно и отобразите доступные и измененные значения тензора. В этом блоге проиллюстрированы методы доступа и изменения значений тензоров в PyTorch.