В начале этого месяца на странице Github Caffe2 внезапно появилось «огромное изменение»: открытый исходный код Caffe2 был официально объединен с PyTorch. Пока что две основные платформы глубокого обучения, поддерживаемые Facebook, были объединены в одну. . Этим двум фреймворкам уделяется большое внимание во всем ландшафте фреймворков глубокого обучения.
С момента своего выпуска в январе 2017 года PyTorch стал предпочтительной средой глубокого обучения для многих научно-исследовательских учреждений благодаря своим преимуществам в отладке и компиляции, а также преимуществам обучения и развертывания моделей на нескольких устройствах.
Если вы следили за развитием PyTorch, возможно, вы заметили некоторые изменения в этой библиотеке за последние несколько месяцев:
-
PyTorch и Caffe2 в настоящее время совместно используют CI, что является очень важной инженерной работой.
-
PyTorch и PyTorch-ONNX имеют очень сложную CI, триггеры onnxbot создаются на каждом PyTorch PR и обновляются окольными путями.
-
В состоянии «ожидания» находятся серверные исследования и разработки, такие как интеграция с новейшими и лучшими библиотеками (MKLDNN, cuFFT и другие покрытия NNPACK и т. д.).
Являясь основными сопровождающими фреймворков PyTorch и Caffe2, имеет смысл делиться между ними общим инженерным контентом, например, библиотеками операторов.
Однако совместное использование кода в двух отдельных репозиториях Github затруднено (подмодули или поддеревья, которые нельзя удалить, непрерывная интеграция становится затруднительной и т. д.).
В сотрудничестве мы объединили репозиторий Caffe2 с github PyTorch. То есть, если вы используете команду git clone https://github.com/pytorch/pytorch, вы можете увидеть бинарный файл caffe2.
Как пользователь PyTorch, вы должны знать: ничего не изменилось, PyTorch установлен, отправлен и используется как обычно.
На самом деле это не означает, что наш код не сработает, это просто разработка и инженерная работа. Поскольку вы не являетесь основным разработчиком, этот вопрос даже не имеет к вам никакого отношения. Кроме того, для пользователей нам также не нужно обращать внимание на проблему protobuf.
Что касается «аннексии» Pytorch Caffe2, я думаю, что есть несколько вещей, которые в принципе можно подтвердить.
Во-первых: Python с его лаконичным и красивым языком со временем завоюет сердца сотен миллионов программистов.
Все фреймворки глубокого обучения до сих пор прошли через несколько раундов инноваций и смерти, и остались только те, у которых есть активные сообщества и большое количество сторонников. Излишне говорить, что сила Google, лидера Tensorflow, в том, что Pytorch может выделиться среди стольких фреймворков, несомненно, находится в духе «тот, кто побеждает в диаоси, побеждает в мире». Я также всегда считал, что никто, кроме тех, кто получает удовольствие от самоуничижения и хвастается своими способностями, не должен хотеть делать что-то, что очевидно легко достижимо.
Во-вторых: Pytorch станет двумя мощными фреймворками, которые идут рука об руку с Tensorflow.
Поскольку многие программисты, которым не нравится бюрократическая волокита и сложная логика Tensorflow, дезертировали, Pytorch обязательно привлечет большое количество «младших» студентов-студентов глубокого обучения. Нет сомнения, что это должно быть хорошо. Если подумать о похожих вещах в истории, то можно сделать в основном тот же вывод: сложные оптические камеры и цифровые камеры «наведи и снимай», автомобили с механической коробкой передач с большей свободой настройки производительности и начинающие пьяные и нелицензированные водители наркотиков. трансмиссионные автомобили. Все первые, кажется, обладают мощными функциями и более широким спектром приспособлений, но вторые постоянно завоевывают долю рынка и, наконец, вытесняют первых.
Третье: популяризация глубокого обучения также приведет к новой небольшой кульминации.
Если первые два пункта могут быть подтверждены, я верю, что третий пункт также станет реальностью. Потому что Pytorch превратит глубокое обучение в игрушку для каждого студента, изучающего информатику. К тому времени глубокое обучение станет таким же популярным навыком, как сегодня Java, Hadoop и Shell. Так чего же мы ждем? Давайте же теперь.