在imagnet-classification的demo中,如遇到数据读取失败,该如何处理?
fluid中可能处理方法:
在reader_cv2.py中进行process_image操作时,使用try-except的方式,若读取数据失败,则使用全0填充image,使用-1填充label。 在设置cross-entropy 损失函数忽略标签为-1的数据。
缺陷:如果损失函数不支持忽略指定标签该如何处理呢?
在pytorch中可能的处理方式:
1)在model forward之前,可以对标签为-1的数据进行滤除,pytorch的model可以支持动态的batchsize
(a. 不知道paddle是否支持每个batchsize数据大小不一致的情况; b. paddle的py-reader是否有方式显示的滤除标签为-1的数据)
2)在model forward之后,loss计算之前,对标签为-1的数据进行滤除。
3)在dataloader中,设置读取失败的数据返回为空,然后自定义collect-function即可,此时每个batch的大小可能不同。
fluid中可能处理方法:
在reader_cv2.py中进行process_image操作时,使用try-except的方式,若读取数据失败,则使用全0填充image,使用-1填充label。 在设置cross-entropy 损失函数忽略标签为-1的数据。
缺陷:如果损失函数不支持忽略指定标签该如何处理呢?
在pytorch中可能的处理方式:
1)在model forward之前,可以对标签为-1的数据进行滤除,pytorch的model可以支持动态的batchsize
(a. 不知道paddle是否支持每个batchsize数据大小不一致的情况; b. paddle的py-reader是否有方式显示的滤除标签为-1的数据)
2)在model forward之后,loss计算之前,对标签为-1的数据进行滤除。
3)在dataloader中,设置读取失败的数据返回为空,然后自定义collect-function即可,此时每个batch的大小可能不同。