我试图在 keras 中定义我自己的损失函数,即均方根百分比误差。RMSPE 定义为:
我将损失函数定义为:
from keras import backend as K
def rmspe(y_true, y_pred):
sum = K.sqrt(K.mean(K.square( (y_true - y_pred) /
K.clip(K.abs(y_true),K.epsilon(),None) ), axis=-1) )
return sum*100.
Run Code Online (Sandbox Code Playgroud)
但是经过几次迭代后,它给了我 nan 的损失值。有人可以指出我做错了什么。谢谢
我正在使用 Python 3.8、Tensorflow 2.5.0 和 keras 2.3.1,我正在尝试制作一个模型,但我从 keras 收到错误。
这是我的代码:
import cv2
import os
import numpy as np
from keras.layers import Conv2D,Dropout, Flatten, Dense,MaxPooling2D, MaxPool2D
import keras.layers.normalization
#from tensorflow.keras.layers import Conv2D,Dropout, Flatten, Dense,MaxPooling2D, MaxPool2D
from keras_preprocessing.image import ImageDataGenerator
from sklearn.model_selection import train_test_split
from keras.models import Sequential
import pandas as pd
import random
from tensorflow.python.keras.utils.np_utils import to_categorical
count = 0
images = []
classNo = []
labelFile = 'signnames.csv'
classes = 43
testRatio = 0.2 # if 1000 images split will …Run Code Online (Sandbox Code Playgroud)