Повернутися до часової лінії

Доступність · 5 червня 2015 р.

Розміщено за датою сучасного події першоджерела. Точна дата події невідома; нижче наведено підтверджений часовий інтервал.

Chainer: граф будується під час обчислення

5 червня 2015 року токійська Preferred Networks випустила Chainer 1.0 — бібліотеку глибокого навчання на Python, у якій граф обчислень не описують наперед: він запам'ятовується сам, поки йде пряме обчислення. У грудні того ж року Сейя Токуй, Кента Оно, Шохей Хідо й Джастін Клейтон назвали цей підхід Define-by-Run на воркшопі LearningSys при NIPS.

Чому це важливо

Модель із циклами й розгалуженнями, як-от рекурентну мережу на входах різної довжини, стало можливо писати звичайним кодом мови й налагоджувати звичайним налагоджувачем. До того фреймворки на кшталт Caffe спершу читали опис моделі з окремого файлу, а вже потім виконували. PyTorch у своєму README називає Chainer серед того, з чого взяв натхнення.

Стаття протиставляє Define-by-Run підходу Define-and-Run, де модель задають файлом Protobuf у Caffe чи YAML у PyLearn2, і називає три його вади: пам'ять під увесь граф, обмежену розширюваність і неможливість користуватися налагоджувачем мови. Для GPU бібліотека має власний CuPy, частково сумісний з NumPy. Порівняно з Caffe перший мінібатч у Chainer повільніший за наступні до 7,0 раза, пряме обчислення повільніше в 1,1–1,8 раза, зворотне — порівнянне або швидше. Стаття про PyTorch 2019 року пише, що Chainer реалізує той самий підхід ціною продуктивності. Чого запис не стверджує: що PyTorch збудовано на архітектурі Chainer, як писав звіт, з якого взято кандидата, — README називає його поряд з autograd і torch-autograd.

Відомості про подію

Дата події
5 червня 2015 р.
Дата на часовій лінії
Дата первинної публікації
Перевірка
Джерела зібрано автоматично · 24 вересня 2026 р.
Лінії
ID
evt-0682

День випуску 1.0.0 на PyPI; того ж дня створено репозиторій і тег v1.0.0. Статтю представлено 12 грудня 2015 року.

Джерела

Пов’язані події