Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про PyTorch : view, reshape, contiguous, tensor shape

Объясните разницу между "view" и "reshape" в PyTorch?

Этот вопрос проверяет различия между функциями view и reshape в PyTorch.

Короткий ответ

view изменяет форму тензора, не создавая нового объекта, но требует, чтобы тензор был "контегентным". В случае reshape, тензор может не быть контегентным, и он возвращает новый тензор с нужной формой, возможно с копированием данных.

Длинный ответ

view:

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

  • Если тензор не является контегентным, нужно использовать метод contiguous() перед применением view.

  • Пример:

    tensor = tensor.view(-1, 10)

 reshape:

  • Создаёт новый тензор с нужной формой, возможно копируя данные, и не требует, чтобы тензор был контегентным.

  • Может использоваться с тензорами, не являющимися контегентными.

  • Пример:

    tensor = tensor.reshape(-1, 10)

 view быстрее, но требует контегентности, в то время как reshape более гибкий и может работать с не контегентными тензорами.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • PyTorch

    PyTorch

Ключевые слова

#view

#reshape

#contiguous

#tensor shape

Подпишись на Data Science в телеграм