название говорит само за себя. Мне нужно получить значение переменной перед каждой итерацией процесса оптимизации подгонки функции к экспериментальным данным. Переменные c0 и k, которые являются просто скалярами. Используя .dataSync (), я получаю следующее сообщение об ошибке:
Не удается найти связь между какой-либо переменной и результатом функции потерь y = f (x). Убедитесь, что операции, в которых используются переменные, находятся внутри функции f, переданной в Minimum ().
Код выглядит следующим образом:
const c0_tensor = tf.scalar(c0).variable(), k_tensor = tf.scalar(k).variable();
// y = c0*e^(k*x)
const fun = (t) => t.mul(k_tensor).exp().mul(c0_tensor);
const cost = (pred, label) => pred.sub(label).square().mean();
const learning_rate = 0.1;
const optimizer = tf.train.adagrad(learning_rate);
// Train the model.
for (let i = 0; i < 500; i++) {
optimizer.minimize(() => cost(fun(x_tensor), y_tensor));
};
Мой вопрос: есть ли другой способ уловить значение c0 и k на каждой итерации в новую переменную JS без использования .dataSync ()?