Предсказание модели в TensorFlow
Для новых строк таблицы признаков
строят прогноз методом
predict. Модель должна
быть обучена: веса уже подобраны
под эталоны. На выходе - таблица
ответов той же длины партии,
что и вход.
Обучим короткую модель на двух точках и запросим ответ для нового признака:
import tensorflow as tf
import numpy as np
tf.keras.utils.set_random_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,)),
])
model.compile(
optimizer=tf.keras.optimizers.SGD(
learning_rate=0.1
),
loss="mse",
)
train_x = np.array(
[[1.0], [2.0]], dtype=np.float32
)
train_y = np.array(
[[3.0], [5.0]], dtype=np.float32
)
model.fit(train_x, train_y, epochs=2, verbose=0)
new_x = np.array([[4.0]], dtype=np.float32)
print(model.predict(new_x, verbose=0))
# выведет [[1.3520892]]
Если новых строк несколько, прогноз содержит столько же строк. Вход можно задать тензором:
import tensorflow as tf
tf.keras.utils.set_random_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,)),
])
model.compile(optimizer="sgd", loss="mse")
train_x = tf.constant([[0.0], [1.0]])
train_y = tf.constant([[0.0], [2.0]])
model.fit(train_x, train_y, epochs=2, verbose=0)
new_x = tf.constant([[2.0], [3.0]])
print(model.predict(new_x, verbose=0))
# выведет [[0.2240426] [0.3168991]]
Подберите веса на парах
(1, 2) и (2, 4).
Выведите прогноз для признака
3.
Обучите модель на точках
(0, 1) и (1, 3).
Постройте ответы для
2 и 4 в одной
таблице.
Задайте две обучающие строки
[1.0, 1.0] и [2.0, 0.0]
с целями 2.0 и 1.0.
Получите прогноз для строки
[3.0, 1.0].