Могут ли какие-либо объекты Keras быть подклассами / сериализованными? Моделей, видимо, нет, а как насчет Оптимизаторов? - PullRequest
0 голосов
/ 20 апреля 2020

Я работаю с Keras, в комплекте с Tensorflow 2.1. Я пробую много разных модельных архитектур. Я узнал, что объекты Keras Model трудно, если не невозможно, сериализовать, используя Python s pickle. Использование JSON, конечно, исключено.

Запись объекта Model на диск с использованием pickle.dump() не дает сбоя. Однако, когда вы пытаетесь перезагрузить его, вы потеряли вес модели. Я не уверен почему. Чтобы обойти эту проблему, я создал класс оболочки Python для моделей Keras, который может реконструировать модель из данных, которые можно сериализовать. Я должен перекомпилировать модель и установить ее вес после перезагрузки с диска, но это не является огромным препятствием.

Теперь я хочу сделать то же самое для Optimizer, который я сделано для моих моделей. Я уже определил, что JSON отклоняет Оптимизаторы, и Pickle принимает их. Но я также знаю, что при работе с объектами Model открепление может не работать.

Возможно, у меня проблема с объектами Tensorflow Dataset. Я могу создать подкласс Dataset, но я могу добавлять только атрибуты и НОВЫЕ методы. Мне не удалось переопределить существующий метод набора данных (я хотел изменить Dataset.padded_batch()).

Прежде чем тратить время на попытки применить подходы Pythoni c к объектам Keras (Tensorflow): кто-нибудь знает, какой из этих объекты могут быть сериализованы и / или подклассы? Где-нибудь есть гид? Пока мне действительно нужно знать об Оптимизаторах, но в будущем, я думаю, я мог бы попытаться сохранить или создать подкласс другого объекта.

Спасибо за ваш совет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...