Jump to content
Compvision.ru

Recommended Posts

Computational Network Toolkit (CNTK).

Очередной подарок от MS (в дополнение к этому http://www.dmtk.io/document.html ):

https://cntk.codeplex.com/

 

  • Like 1

Share this post


Link to post
Share on other sites

В свете всех этих открываний получается, что большая тройка крупных нейросетевых фреймворков уже не тройка, верно? И тут же встаёт вопрос: есть ли совместимость между всеми ними на уровне результата? В смысле можно ли использовать нейроеть, обученную в, например, TensorFlow в приложении, использующем Caffe? Ну и все остальные комбинации фреймворков.

Если поискать, то всякие конвертеры из одного в другое на Гитхабе есть, но как-то это разрозненно. Было бы неплохо иметь универсальный формат как для описания архитектуры сети, так и для обученного результата. Типа как jpeg, png для картинок.

Может, оно уже есть?

Share this post


Link to post
Share on other sites

Тут сложнее получается с совместимостью, т.к. это же просто лоудер надо для весов, а еще заимплементить все типы слоёв, да и еще чтобы они работали одинаково в итоге.

 

шутка на тему того что так много библиотек

https://github.com/culurciello/kixAzzML

 

Share this post


Link to post
Share on other sites
4 hours ago, Nuzhny said:

В свете всех этих открываний получается, что большая тройка крупных нейросетевых фреймворков уже не тройка, верно? И тут же встаёт вопрос: есть ли совместимость между всеми ними на уровне результата? В смысле можно ли использовать нейроеть, обученную в, например, TensorFlow в приложении, использующем Caffe? Ну и все остальные комбинации фреймворков.

Если поискать, то всякие конвертеры из одного в другое на Гитхабе есть, но как-то это разрозненно. Было бы неплохо иметь универсальный формат как для описания архитектуры сети, так и для обученного результата. Типа как jpeg, png для картинок.

Может, оно уже есть?

Вряд ли между разными библиотеками есть bit-exact совместимость, соответственно готовая модель может по разному работать на разных бэкендах...соответственно толку от переноса сети между фрэймворками особого нет. Проще перетренировать модель, тем более что в случае её адекватности она должны быть воспроизводимой.

Share this post


Link to post
Share on other sites
1 hour ago, BeS said:

Вряд ли между разными библиотеками есть bit-exact совместимость, соответственно готовая модель может по разному работать на разных бэкендах...соответственно толку от переноса сети между фрэймворками особого нет. Проще перетренировать модель, тем более что в случае её адекватности она должны быть воспроизводимой.

Не, ну есть же всякие сериализаторы, типа того же protobuf (он же в caffe и исползуется). С помощью него именно что bit-exact совместимость достигнуть можно. Мне со стороны кажется, что единый формат нужен.

Share this post


Link to post
Share on other sites
56 minutes ago, Nuzhny said:

Не, ну есть же всякие сериализаторы, типа того же protobuf (он же в caffe и исползуется). С помощью него именно что bit-exact совместимость достигнуть можно. Мне со стороны кажется, что единый формат нужен.

Так проблема не в конвертировании модели, а в её выполнении. Модель ведь будет считаться разным кодом, кто какие допуски по точнсоти делал при оптимизации не известно, кто как докуручивал имплементацию слоев тоже...и в результате одна и таже сеть может выполняться по разному и давать разные результаты. А при официальной совместимости библиотек, кому-то придется постоянно следить за регрессией между библиотеками, что очень сложно. Да и не надо это никому, каждый разработчик тянет одеяло на себя, расхваливая свою библиотеку)

Share this post


Link to post
Share on other sites

Форматов изображений тоже много, вероятно тот же путь ждет и форматы представления глубоких сетей.

Выделятся несколько лидеров, и будут поддерживать свои стандарты.

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

 

Share this post


Link to post
Share on other sites

Тем не менее дает некоторый план оценки, который каждый может заполнить для себя.

Вроде в OpenCV начинаетя движение в сторону попыток стандартизировать это дело.

Из описания версии 3.1:

  • “Implementation of universal interface for deep neural network frameworks” – opencv_contrib/dnn module (Vitaliy Lyudvichenko, Anatoly Baksheev)

Правда сам еще не смотрел, пока залип с проектами на версии 2.4.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×