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

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

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

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

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

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

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам