Почему Matlab R2010 не может загружать объекты нейронной сети из R2007?

У меня есть нейронная сеть, которую я сохранил в файле .mat в Matlab 2007.

Пытаюсь загрузить нейросеть из файла с load filename.mat. Это отлично работало с версиями R2007b и R2008, но когда я пытаюсь загрузить в R2010b, я получаю следующее сообщение:

Предупреждение. Произошла ошибка при запуске метода loadobj класса. Объект, загруженный из MAT-файла, был копией объекта до запуска метода loadobj. Остальные переменные также были загружены из MAT-файла.
Возникла следующая ошибка:
Ссылка на несуществующее поле 'имя'

Странно то, что кажется, что переменная, содержащая нейронную сеть, существует, но она не работает должным образом. Ни одна из функций, использующих нейронную сеть, не работает в R2010.

Кто-нибудь сталкивался с подобной проблемой? Как сохранить нейронную сеть, чтобы она была совместима с Matlab R2010?
Или, что еще лучше, как правильно загрузить ее в Matlab 2010?


person Ella Cohen    schedule 21.09.2011    source источник


Ответы (2)


Да, кажется, что другие люди сталкивались с этой проблемой (нейронные сети не загружаются в MATLAB 2010), согласно этому MATLAB Central, в котором Андреас Госер (менеджер технической поддержки Mathworks) предлагает:

Если вы столкнетесь с этой проблемой в будущем, обратитесь в службу технической поддержки и обратитесь к решению 1-ЭГНМ3С.

Видимо нужен "исправленный файл net.m", который может предоставить техподдержка. Я не проверял, так как у меня самой такой проблемы нет.

Внимательно прочитав сообщение об ошибке, я бы сказал, что переменная, которую вы видите загруженной, содержит «сырой» объект, который был сохранен в файле .MAT, вполне возможно, что это структура. Вы можете запустить whos myvarname для проверки. Чтобы «оживить» эту структуру в объекте, ее необходимо обработать перегруженной функцией loadobj для ее типа объекта, которая обычно автоматически вызывается функцией MATLAB load. В этом случае loadobj, который поставляется с объектом нейронной сети в R2010, кажется, не полностью обратно совместим...

person Jonas Heidelberg    schedule 21.09.2011

Я подозреваю, что базовые объекты для нейронной сети изменились с 2007b и что определение в R2010b несовместимо с данными, хранящимися в MAT-файле.

Я рекомендую следовать ответу Джонаса. В качестве альтернативы вы можете попробовать загрузить его и повторно сохранить в промежуточной версии MATLAB или сохранить данные из объектов нейронной сети и перестроить их в R2010b.

person Nzbuu    schedule 21.09.2011