Чтобы создать настраиваемую функцию потерь в кератах, выполните следующие действия. Создайте настраиваемую функцию потерь в кератах
Теперь, чтобы векторизовать функцию потерь, чтобы у вас не было очень медленной скорости,используйте векторизацию, чтобы сделать это, вы можете написать свою функцию потерь как:
loss = np.sum(np.divide(Output_Error,np.amax(np.hstack((Output_pred,Output_true)),axis=1)))
Теперь давайте разберем это
np.hstack((M1,M2))
складывает матрицы как [M1 |M2], которые оба являются векторами в вашем случае.
np.amax(M,axis = 1)
создает вектор максимальных значений вдоль оси x, то есть для каждой строки.
np.divide(M1,M2)
Выполняет поэлементное деление по матрицам, так что выбудет по-прежнему получать вектор.
np.sum(M)
предоставляет скалярную сумму матрицы M.
Чтобы узнать больше о любой из этих функций, посетите https://docs.scipy.org/doc/numpy-1.15.1/reference/
Если выЕсли у вас есть вопросы, прокомментируйте их ниже.