Я пытался использовать tf.cond()
для создания 2 разных графиков в зависимости от условия.На обоих графиках мы хотим иметь потерю регуляризации веса и поэтому используем tf.losses.get_regularization_loss()
.Вот псевдокод нашего проекта
def net_1(x,y):
statement 1 (has trainable params)
statement 2 (has trainable params)
return
def net_2(x,y):
statement 1 (has trainable params)
statement 2 (has trainable params)
statement 3 (has trainable params)
return
step = tf.get_or_create_global_step()
tf.cond(tf.greater(step, 100), net_1, net_2)
loss = 0.0
loss += tf.losses.get_regularization_loss()
Если мы сохраняем tf.losses.get_regularization_loss()
, мы получаем ошибку:
Retval [0] не делаетимеют значение
В противном случае ошибки не возникает.
Нужно ли соблюдать особую осторожность с tf.cond()
, если мы хотим наложить tf.losses.get_regularization_loss()
.