import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.models import Sequential
from keras import backend as K
import numpy as np
from tensorflow.python.ops import math_ops
def customloss(Y_actual, Y_predicted):
absolute_diff = abs((Y_predicted*Y_predicted) - (Y_actual*Y_actual)) #squared difference
final_loss =(K.mean(absolute_diff, axis=-1))/100 #mean over last dimension
return final_loss
model = keras.Sequential([
keras.layers.Dense(10, activation='relu', input_shape=(1,)),
keras.layers.Dense(1)
])
model.compile(loss=customloss, optimizer='adam')
a=[[12.3],[20.0], [17.6],[15.0],[20.0],[7.5],[5.9], [20.0]]
b=[6.0, 2, 18,24,30, 3,6, 12]
X_train = np.array(a)
Y_train = np.array(b) #dummy data
model.fit(X_train, Y_train, batch_size=3, epochs=5)