У меня есть пользовательская функция потерь, которая кажется допустимой (нет ошибок при выполнении этих двух строк, как показано ниже)
alpha_cost = 2
cost = tf.reduce_mean(tf.where(tf.less(Y * out, 0), tf.squeeze((alpha_cost*out)**2 - tf.sign(Y)*out + tf.abs(Y)), tf.squeeze(tf.abs(Y - out))))
Однако, когда я фактически продолжаю обучение модели (размер партии 10 000), использование этой функции потерь приводит к следующей ошибке...
InvalidArgumentError (обратную трассировку см. выше): Входные данные для операции Select_4 типа Select должны иметь одинаковый размер и форму. Ввод 0: [1,10000] != ввод 1: [10000] [[Узел: Select_4 = Select[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0" ](Меньше_7, Сжатие_6, Сжатие_7)]]
Может быть, просто нужно добавить еще один tf.squeeze, чтобы сжать размеры... но я попробовал пару, и они не полностью взаимодействуют, так что, возможно, с этим подходом есть более серьезная проблема... спасибо за вашу помощь !