РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
145 of 769 menu

Тип int32

Тип int32 (или torch.int32) представляет собой 32-битный целочисленный тип данных со знаком. Он занимает 4 байта памяти и может хранить целые числа в диапазоне от -2,147,483,648 до 2,147,483,647. Этот тип часто используется для хранения индексов, меток классов и других целочисленных значений, которые не требуют 64-битной точности.

Синтаксис

Для указания типа int32 при создании тензора используется параметр dtype:

torch.tensor(data, dtype=torch.int32)

Пример

Давайте создадим тензор с типом int32 из списка целых чисел:

import torch t = torch.tensor([1, 2, 3, 4, 5], dtype=torch.int32) print(t) print(t.dtype)

Результат выполнения кода:

tensor([1, 2, 3, 4, 5], dtype=torch.int32) torch.int32

Пример

При создании тензора из списка чисел без указания типа PyTorch автоматически выбирает int64 для целых чисел. Давайте явно преобразуем тензор в тип int32 с помощью метода to:

import torch t = torch.tensor([10, 20, 30, 40, 50]) print("Исходный тип:", t.dtype) t_int32 = t.to(torch.int32) print("Новый тип:", t_int32.dtype) print(t_int32)

Результат выполнения кода:

Исходный тип: torch.int64 Новый тип: torch.int32 tensor([10, 20, 30, 40, 50], dtype=torch.int32)

Пример

Тип int32 часто используется при работе с индексами и размерами тензоров. Давайте создадим двумерный тензор с целыми числами и выполним операции индексации:

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ], dtype=torch.int32) idx = torch.tensor([0, 2], dtype=torch.int32) res = t[idx] print(res)

Результат выполнения кода:

tensor([ [1, 2, 3], [7, 8, 9] ], dtype=torch.int32)

Пример

Арифметические операции с тензорами типа int32 выполняются без потери точности, если результат остаётся в допустимом диапазоне. Рассмотрим пример:

import torch t1 = torch.tensor([100, 200, 300], dtype=torch.int32) t2 = torch.tensor([50, 25, 75], dtype=torch.int32) res = t1 + t2 print(res) print(res.dtype)

Результат выполнения кода:

tensor([150, 225, 375], dtype=torch.int32) torch.int32

Пример

При выходе за пределы допустимого диапазона происходит переполнение. Давайте посмотрим, как это работает на практике:

import torch max_val = torch.tensor([2147483647], dtype=torch.int32) print("Максимальное значение:", max_val) overflow = max_val + torch.tensor([1], dtype=torch.int32) print("Результат переполнения:", overflow)

Результат выполнения кода:

Максимальное значение: tensor([2147483647], dtype=torch.int32) Результат переполнения: tensor([-2147483648], dtype=torch.int32)

Смотрите также

  • тип int64,
    который занимает 8 байт и имеет больший диапазон значений
  • тип int16,
    который занимает 2 байта и имеет меньший диапазон значений
  • тип int8,
    который занимает 1 байт и предназначен для хранения целых чисел от -128 до 127
  • тип uint8,
    который хранит беззнаковые целые числа от 0 до 255
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить