机器学习实践:TensorFlow最后一个epoch训练损失函数显著增大
生活随笔
收集整理的這篇文章主要介紹了
机器学习实践:TensorFlow最后一个epoch训练损失函数显著增大
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問題
10個(gè)epoch,運(yùn)行到最后一個(gè)時(shí),訓(xùn)練數(shù)據(jù)集的損失函數(shù)顯著增大
解決步驟
結(jié)論
事實(shí)證明問題確實(shí)出在tensorflow的數(shù)據(jù)流水線上。如果把epoch的部分增加到這里,則整體是平滑的
def __call__(self, annotations_dir, batch_size=8, shuffle=False):self.data_reader = DataReader(annotations_dir)dataset = tf.data.Dataset.from_generator(self.data_reader.iter,output_types=(tf.float32, tf.float32),output_shapes=([self.img_size, self.img_size, 3], [None, 5])) # for distribute datadataset = dataset.repeat(10)如果是寫到自己的訓(xùn)練循環(huán)里,則有問題
for epoch in range(10):for image_data, target in trainset:train_step(image_data, target)model.save_weights("../weights/yolov5")其實(shí),如果是經(jīng)驗(yàn)豐富,大概一開頭就可以猜出大概的解決方案,不用像我到處檢測(cè)。因?yàn)閱栴}出在一個(gè)新的epoch開頭時(shí)突然異樣。由于對(duì)tf.data原理了解的不多,問題的實(shí)質(zhì)還需要更多實(shí)驗(yàn)和理論才能搞清楚了。
總結(jié)
以上是生活随笔為你收集整理的机器学习实践:TensorFlow最后一个epoch训练损失函数显著增大的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高并发之服务降级和服务熔断____服务降
- 下一篇: Debug Tensorflow :Tw