Microsoft отказалась от CNTK? - PullRequest
       14

Microsoft отказалась от CNTK?

3 голосов
/ 24 апреля 2019

Я хочу знать, умер ли CNTK? Замечания к выпуску GitHub от 31.03.2009: «Сегодняшняя версия 2.7 будет последней основной версией CNTK». Я потратил месяцы на разработку программного обеспечения с использованием CNTK, и теперь это кажется пустой тратой времени и денег. Я ищу ответ на многочисленных сайтах и ​​до сих пор нет ответа. stackoverflow - один из сайтов, рекомендованных Microsoft.

1 Ответ

2 голосов
/ 25 апреля 2019

От KedengMS, одного из сопровождающих CNTK. Перемещено с github .

Спасибо всем сторонникам CNTK, и я имею честь работать на нем и многому научился в процессе. Вы можете продолжать использовать CNTK для обучения и умозаключений в том виде, в каком они есть в настоящее время, как и другие Внутренние команды Microsoft, которые до сих пор используют старые модели даже в BrainScript или NDL. Прекращение добавления новых функций не означает, что CNTK больше не с открытым исходным кодом, это просто означает, что в будущем нет поддержки новых графических процессоров (скажем, CUDA 11+), и не добавлены новые важные функции. Я думаю, что для разных пользовательских сценариев у вас могут быть разные варианты:

  • Новички с глубоким обучением: IMO CNTK по-прежнему является хорошим входом для понимания основ глубокого обучения, если вы нашли CNTK Документы / учебники / примеры полезны. Как только вы узнали основы, это не будет слишком сложно переключаться между фреймворками. Тем не менее, поле DL быстро меняется, и CNTK уже отстает во многих пути, так что если вам нужны более продвинутые функции, такие как динамический график, PyTorch будет лучшим выбором.

  • Сопровождающие модели: если у вас уже работают модели CNTK, и поддерживать их просто означает обучение новым данным, вы можете продолжать использовать CNTK, как вы используете его в настоящее время. На самом деле, команды внутри Microsoft делаем это тоже. Если есть серьезные ошибки, мешающие производительности, они все еще будут исправлены. Для вывода, вы можете продолжать использовать CNTK API C / C ++ / Python / C # / Java, или вы можете экспортировать модели CNTK в ONNX форматировать и использовать ONNX Runtime или ORT как более тонкий и быстрый вывод двигатель. Вы будете удивлены, узнав, насколько быстрее это по сравнению с CNTK, и как тоньше установка (забудьте об OpenMPI, когда вы просто нужен вывод!). В настоящее время ОРТ предоставляет интерфейсы C / C ++ / Python / C #.

  • Компоновщики моделей: если у вас есть модель CNTK и вы хотите использовать функции, которые в настоящее время не поддерживаются в CNTK, рассмотрите возможность перехода к другие фреймворки, такие как TensorFlow / PyTorch / и т. д. Наша команда сделала много чтения данных работают внутри PyTorch, чтобы команды в Microsoft могли переключиться с CNTK на PyTorch. Кроме того, мы также находимся в процессе миграция специального распределенного тренера CNTK, такого как BMUF, в PyTorch. Надеюсь, вы также найдете это полезным при переносе модели.

Хорошая вещь в открытом исходном коде состоит в том, что сообщество может продолжать форк / эволюционировать при необходимости, в отличие от других продуктов Microsoft, которые поставляются только двоичные файлы (Win7 я смотрю на вас).

...