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

Список весов в TensorFlow

Чтобы прочитать все обучаемые числа модели разом, служит метод get_weights. Он возвращает список массивов NumPy: для каждого слоя - столько элементов, сколько у него тензоров параметров.

Соберём короткую цепочку, прогоним одну строку, чтобы параметры создались, и выведем длину списка и тип первого массива:

import tensorflow as tf tf.keras.utils.set_random_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(2, input_shape=(3,)), ]) row = tf.constant([[1.0, 2.0, 3.0]]) model(row) weights = model.get_weights() print(len(weights)) print(type(weights[0]).__name__) # выведет 2 # выведет ndarray

У полносвязного блока в списке обычно матрица связей и столбец смещений. Если слоёв несколько, массивы идут в том же порядке, что и блоки в модели:

import tensorflow as tf tf.keras.utils.set_random_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(3, input_shape=(2,)), tf.keras.layers.Dense(1), ]) table = tf.constant([[1.0, 0.0], [0.0, 1.0]]) model(table) weights = model.get_weights() print(len(weights)) print(weights[0].shape) print(weights[1].shape) # выведет 4 # выведет (2, 3) # выведет (3,)

Соберите цепочку из одного полносвязного блока на 4 выхода для строки из 5 признаков. Прогоните строку [0.0, 1.0, -1.0, 0.5, 2.0] и выведите, сколько массивов в списке параметров модели.

Задайте модель: первый блок на 2 числа для входа длины 3, второй - на одно число. Подайте таблицу из одной строки [1.0, 0.0, -1.0] и выведите форму первого массива в списке параметров.

Создайте цепочку с одним блоком на 3 выхода и входом длины 2. После одного прогона выведите форму второго массива в списке параметров модели.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить