自定义数据集loss跟val_loss非常大,总体还是下降趋势!训练1000次之后停止!
来源:4-5 tf.data读取csv文件并与tf.keras结合使用
神佑骑士
2021-09-12
自定义数据集loss跟val_loss非常大,总体还是下降趋势!训练1000次之后loss跟val_loss都停止了,程序也不继续训练了,这个跟训练集的大小有没有关系?
filename,width,height,class,xmin,xmax,ymin,ymax
2651631000325_.pic_hd.jpg,4096,3072,1,1528,3057,639,2410
3071631151964_.pic_hd.jpg,1080,1440,1,220,839,381,812
2711631000531_.pic_hd.jpg,3072,4096,1,584,2132,1313,3143
def parse_csv_line(line):
defs = [
[''],
tf.constant(np.nan),
tf.constant(np.nan),
1,
tf.constant(np.nan),
tf.constant(np.nan),
tf.constant(np.nan),
tf.constant(np.nan),
]
parse_fields = tf.io.decode_csv(line, record_defaults=defs)
x_fields = tf.stack(parse_fields[4:5])
y_fields = tf.stack(parse_fields[6:7])
return x_fields,y_fields
model = keras.models.Sequential([
keras.layers.Dense(30,activation='relu',input_shape=(None, 1)),
keras.layers.Dense(1)
])
model.compile(loss="mean_squared_error",optimizer='sgd')
callbacks = [keras.callbacks.EarlyStopping(patience=5,min_delta=1e-2)]
history = model.fit(train_set,validation_data=valid_set,epochs=2,callbacks=callbacks)`
上面是csv数据集,中间是转换csv的代码,下面是训练代码,如果增加model的层次,loss出现nan ,val_loss出现inf
需求是识别图片有没有一块黑色的布,csv是我将黑色的布用labelImg标注出来的数据!!
这个问题怎么解决?
写回答
1回答
-
是因为你设了EarlyStopping,所以当loss连续几次没有比较大的变化时,训练就会提前停止,可以考虑把earlystopping去掉,然后把epochs从2调大一些。
00
相似问题