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

Тип int16

Тип данных int16 (или torch.int16) в PyTorch представляет 16-битное знаковое целое число. Он занимает 2 байта памяти и может хранить целые числа в диапазоне от -32,768 до 32,767. Этот тип полезен для экономии памяти при работе с целочисленными данными, когда точности int32 или int64 избыточны, а отрицательные значения необходимы (в отличие от uint8).

Синтаксис

Для указания типа int16 используется константа torch.int16 или torch.short (устаревший синоним). Этот тип можно передавать в параметр dtype различных функций создания тензоров, таких как tensor, zeros, ones и других.

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

Пример

Давайте создадим тензор из списка чисел с типом int16:

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

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

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

Пример

Создадим тензор из нулей с типом int16 и укажем размерность:

import torch t = torch.zeros(2, 3, dtype=torch.int16) print(t) print(t.dtype)

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

tensor([ [0, 0, 0], [0, 0, 0], ], dtype=torch.int16) torch.int16

Пример

Преобразуем существующий тензор к типу int16 с помощью метода to:

import torch t = torch.tensor([1.5, 2.7, 3.9]) t_int16 = t.to(torch.int16) print(t_int16) print(t_int16.dtype)

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

tensor([1, 2, 3], dtype=torch.int16) torch.int16

При преобразовании из чисел с плавающей точкой дробная часть отбрасывается (округляется в сторону нуля).

Пример

Важно помнить о диапазоне значений int16. При попытке записать число вне диапазона происходит переполнение:

import torch t = torch.tensor([32767], dtype=torch.int16) print(t) t_overflow = torch.tensor([32768], dtype=torch.int16) print(t_overflow)

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

tensor([32767], dtype=torch.int16) tensor([-32768], dtype=torch.int16)

Как видно, число 32768 (на единицу больше максимального) превратилось в -32768 (минимальное значение) из-за циклического переполнения.

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

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