Jump to content

PyTorch

(Перенаправлено с Pytorch )
PyTorch
Оригинальный автор(ы)
  • Адам Пашке
  • Сэм Гросс
  • Сумит Чинтала
  • Грегори Кэннон
Разработчик(и) Мета ИИ
Первоначальный выпуск сентябрь 2016 г .; 7 лет назад ( 2016-09 ) [1]
Стабильная версия
2.4.0 [2]  Отредактируйте это в Викиданных / 24 июля 2024 г .; 9 дней назад ( 24 июля 2024 г. )
Репозиторий github /pytorch /pytorch
Написано в
Операционная система
Платформа ИА-32 , x86-64 , ARM64
Доступно в Английский
Тип Библиотека для машинного и глубокого обучения
Лицензия БСД-3 [3]
Веб-сайт Питорч .org

PyTorch — это машинного обучения библиотека , основанная на библиотеке Torch . [4] [5] [6] используется для таких приложений, как компьютерное зрение и обработка естественного языка , [7] первоначально разработанный Meta AI , а теперь входящий в состав Linux Foundation . [8] [9] [10] [11] Она признана одной из двух самых популярных библиотек машинного обучения наряду с TensorFlow , предлагающей бесплатное программное обеспечение с открытым исходным кодом, выпущенное под модифицированной лицензией BSD . Хотя интерфейс Python более совершенен и является основным направлением разработки, PyTorch также имеет интерфейс C++ . [12]

ряд программ глубокого обучения На основе PyTorch построен , включая Tesla Autopilot , [13] Uber , Пиро [14] Hugging Face , Трансформеры [15] PyTorch Молния , [16] [17] и Катализатор. [18] [19]

PyTorch предоставляет две функции высокого уровня: [20]

Meta (ранее известная как Facebook) использует как PyTorch , так и сверточную архитектуру для быстрого внедрения функций ( Caffe2 ), но модели, определенные этими двумя платформами, были взаимно несовместимы. Проект Open Neural Network Exchange ( ONNX ) был создан Meta и Microsoft в сентябре 2017 года для преобразования моделей между фреймворками. Caffe2 был объединен с PyTorch в конце марта 2018 года. [21] В сентябре 2022 года Meta объявила, что PyTorch будет управляться PyTorch Foundation, недавно созданной независимой организацией — дочерней компанией Linux Foundation . [22]

PyTorch 2.0 был выпущен 15 марта 2023 года. [23]

Тензоры PyTorch

[ редактировать ]

PyTorch определяет класс под названием Tensor ( torch.Tensor) для хранения и работы с однородными многомерными прямоугольными массивами чисел. Тензоры PyTorch похожи на массивы NumPy , но также могут работать на CUDA с поддержкой графическом процессоре NVIDIA . PyTorch также разрабатывает поддержку других платформ графических процессоров, например AMD ROCm. [24] и Metal Framework от Apple. [25]

PyTorch поддерживает различные подтипы тензоров. [26]

Обратите внимание, что термин «тензор» здесь не имеет того же значения, что и тензор в математике или физике. Значение слова в машинном обучении лишь поверхностно связано с его первоначальным значением как объекта определенного типа в линейной алгебре . Тензоры в PyTorch — это просто многомерные массивы.

Нейронные сети PyTorch

[ редактировать ]

PyTorch определяет модуль под названием nn ( torch.nn) для описания нейронных сетей и поддержки обучения. Этот модуль предлагает обширную коллекцию строительных блоков для нейронных сетей, включая различные уровни и функции активации, позволяющие создавать сложные модели. Сети строятся путем наследования от torch.nn модуле и определение последовательности операций в forward() функция.

Следующая программа демонстрирует низкоуровневую функциональность библиотеки на простом примере.

import torch
dtype = torch.float
device = torch.device("cpu")  # Execute all calculations on the CPU
# device = torch.device("cuda:0")  # Executes all calculations on the GPU

# Create a tensor and fill it with random numbers
a = torch.randn(2, 3, device=device, dtype=dtype)
print(a)
# Output: tensor([[-1.1884,  0.8498, -1.7129],
#                  [-0.8816,  0.1944,  0.5847]])

b = torch.randn(2, 3, device=device, dtype=dtype)
print(b)
# Output: tensor([[ 0.7178, -0.8453, -1.3403],
#                  [ 1.3262,  1.1512, -1.7070]])

print(a * b)
# Output: tensor([[-0.8530, -0.7183,  2.58],
#                  [-1.1692,  0.2238, -0.9981]])

print(a.sum()) 
# Output: tensor(-2.1540)

print(a[1,2]) # Output of the element in the third column of the second row (zero based)
# Output: tensor(0.5847)

print(a.max())
# Output: tensor(0.8498)

В следующем блоке кода показан пример предоставляемой функциональности более высокого уровня. nn модуль. В примере определена нейронная сеть с линейными слоями.

import torch
from torch import nn # Import the nn sub-module from PyTorch

class NeuralNetwork(nn.Module):  # Neural networks are defined as classes
    def __init__(self):  # Layers and variables are defined in the __init__ method
        super().__init__()  # Must be in every network.
        self.flatten = nn.Flatten()   # Construct a flattening layer.
        self.linear_relu_stack = nn.Sequential(  # Construct a stack of layers.
            nn.Linear(28*28, 512),  # Linear Layers have an input and output shape
            nn.ReLU(),  # ReLU is one of many activation functions provided by nn
            nn.Linear(512, 512),
            nn.ReLU(),
            nn.Linear(512, 10), 
        )

    def forward(self, x):  # This function defines the forward pass.
        x = self.flatten(x)
        logits = self.linear_relu_stack(x)
        return logits

См. также

[ редактировать ]
  1. ^ Чинтала, Сумит (1 сентября 2016 г.). «Выпуск PyTorch Alpha-1» .
  2. ^ «Выпуск 2.4.0» . 24 июля 2024 г. Проверено 26 июля 2024 г.
  3. ^ Клэберн, Томас (12 сентября 2022 г.). «PyTorch получает поддержку от The Linux Foundation» . Регистр .
  4. ^ Егулалп, Сердар (19 января 2017 г.). «Facebook переносит машинное обучение на базе графического процессора в Python» . Инфомир . Проверено 11 декабря 2017 г.
  5. ^ Лорика, Бен (3 августа 2017 г.). «Почему исследователи искусственного интеллекта и машинного обучения начинают использовать PyTorch» . О'Рейли Медиа . Проверено 11 декабря 2017 г.
  6. ^ Кеткар, Нихил (2017). «Введение в PyTorch». Глубокое обучение с помощью Python . Апресс, Беркли, Калифорния. стр. 195–208. дои : 10.1007/978-1-4842-2766-4_12 . ISBN  9781484227657 .
  7. ^ Моэз Али (июнь 2023 г.). «НЛП с PyTorch: подробное руководство» . datacamp.com . Проверено 1 апреля 2024 г.
  8. ^ Патель, Миссури (07 декабря 2017 г.). «Когда сливаются две тенденции: PyTorch и рекомендательные системы» . О'Рейли Медиа . Проверено 18 декабря 2017 г.
  9. ^ Маннес, Джон. «Facebook и Microsoft сотрудничают, чтобы упростить преобразование PyTorch в Caffe2» . ТехКранч . Проверено 18 декабря 2017 г. FAIR привыкла работать с PyTorch — средой глубокого обучения, оптимизированной для достижения самых современных результатов в исследованиях, независимо от ограничений ресурсов. К сожалению, в реальном мире большинство из нас ограничены вычислительными возможностями наших смартфонов и компьютеров.
  10. ^ Аракелян Софья (29.11.2017). «Технологические гиганты используют платформы с открытым исходным кодом, чтобы доминировать в сообществе ИИ» . ВенчурБит . Проверено 18 декабря 2017 г.
  11. ^ «PyTorch укрепляет свое управление, присоединившись к Linux Foundation» . pytorch.org . Проверено 13 сентября 2022 г.
  12. ^ «Фронтенд C++» . Основная документация PyTorch . Проверено 29 июля 2019 г.
  13. ^ Карпаты, Андрей. «PyTorch в Tesla — Андрей Карпати, Tesla» .
  14. ^ «Pyro с открытым исходным кодом Uber AI Labs, язык глубокого вероятностного программирования» . Инженерный блог Uber . 03.11.2017 . Проверено 18 декабря 2017 г.
  15. ^ PYTORCH-ТРАНСФОРМАТОРЫ: реализации PyTorch популярных NLP Transformers , PyTorch Hub, 01 декабря 2019 г. , получено 1 декабря 2019 г.
  16. ^ PYTORCH-Lightning: легкая оболочка PyTorch для исследователей машинного обучения. Масштабируйте свои модели. Пишите меньше шаблонов , Lightning-Team, 18 июня 2020 г. , получено 18 июня 2020 г.
  17. ^ «Инструменты экосистемы» . pytorch.org . Проверено 18 июня 2020 г.
  18. ^ GitHub — Catalyst-team/catalyst: Accelerated DL & RL , Catalyst-Team, 05 декабря 2019 г. , получено 5 декабря 2019 г.
  19. ^ «Инструменты экосистемы» . pytorch.org . Проверено 4 апреля 2020 г.
  20. ^ «PyTorch – О программе» . pytorch.org . Архивировано из оригинала 15 июня 2018 г. Проверено 11 июня 2018 г.
  21. ^ «Caffe2 объединяется с PyTorch» . 2018-04-02.
  22. ^ Эдвардс, Бендж (12 сентября 2022 г.). «Meta выделяет PyTorch Foundation, чтобы сделать инфраструктуру искусственного интеллекта нейтральной в отношении поставщиков» . Арс Техника .
  23. ^ «PyTorch 2.0 привносит новый взгляд в машинное обучение с открытым исходным кодом» . ВенчурБит . 15 марта 2023 г. Проверено 16 марта 2023 г.
  24. ^ «Установка PyTorch для ROCm» . rocm.docs.amd.com . 09.02.2024.
  25. ^ «Представляем ускоренное обучение PyTorch на Mac» . pytorch.org . Проверено 4 июня 2022 г.
  26. ^ «Введение в PyTorch — простая, но мощная библиотека глубокого обучения» . www.analyticsvidhya.com . 22 февраля 2018 г. Проверено 11 июня 2018 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9e48c18b839cda99072707800a6b5f3c__1715325180
URL1:https://arc.ask3.ru/arc/aa/9e/3c/9e48c18b839cda99072707800a6b5f3c.html
Заголовок, (Title) документа по адресу, URL1:
PyTorch - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)