РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
328 of 824 menu

Функция model_from_json

Функция model_from_json восстанавливает архитектуру модели Keras из JSON-строки. Первым параметром функция принимает строку JSON с описанием архитектуры. Вторым необязательным параметром можно передать словарь custom_objects для регистрации пользовательских слоев, функций активации и других объектов, которые использовались в модели. Функция возвращает необученную модель, поэтому после восстановления архитектуры веса обычно загружают отдельно через метод load_weights.

Синтаксис

tf.keras.models.model_from_json(json_string, [custom_objects])

Пример

Давайте создадим простую модель, сохраним ее архитектуру в JSON-строку и восстановим обратно:

import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Dense(4, activation='relu', input_shape=(3,)), tf.keras.layers.Dense(1) ]) json_string = model.to_json() res = tf.keras.models.model_from_json(json_string) res.summary()

Результат выполнения кода:

Model: "sequential" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ dense (Dense) │ (None, 4) │ 16 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_1 (Dense) │ (None, 1) │ 5 │ └─────────────────────────────────┴────────────────────────┴───────────────┘ Total params: 21 (84.00 B) Trainable params: 21 (84.00 B) Non-trainable params: 0 (0.00 B)

Пример

Давайте восстановим архитектуру модели, обучим ее и проверим работу на данных:

import tensorflow as tf import numpy as np tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(4, activation='relu', input_shape=(3,)), tf.keras.layers.Dense(1) ]) model.compile(optimizer='adam', loss='mse') json_string = model.to_json() res = tf.keras.models.model_from_json(json_string) res.compile(optimizer='adam', loss='mse') x = np.array([[1, 2, 3], [4, 5, 6]]) y = np.array([[1], [2]]) res.fit(x, y, epochs=1, verbose=0) print(res.predict(x, verbose=0).shape)

Результат выполнения кода:

(2, 1)

Пример

Давайте сохраним архитектуру модели в файл 'model.json' и восстановим ее из содержимого файла:

import tensorflow as tf import json model = tf.keras.Sequential([ tf.keras.layers.Dense(3, activation='relu', input_shape=(2,)), tf.keras.layers.Dense(1) ]) json_string = model.to_json() with open('model.json', 'w') as f: json.dump(json_string, f) with open('model.json', 'r') as f: loaded_json = json.load(f) res = tf.keras.models.model_from_json(loaded_json) print(res.input_shape)

Результат выполнения кода:

(None, 2)

Смотрите также

  • функцию load_model,
    которая загружает модель целиком из файла
  • функцию save_model,
    которая сохраняет модель целиком в файл
  • функцию clone_model,
    которая создает копию архитектуры модели
  • функцию plot_model,
    которая строит схему архитектуры модели
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить