u-net程序换上自己的数据集全黑的 解决办法

做了一个月的u-net网络,刚开始前两个星期很懵,因为总是跑出去全黑或者全灰的图像。看到网上好像没有类似的教程,于是我总结一下我这一个月的乱撞南墙,希望给大家一些建议。

1.把所有255换成255.0

2.检查数据是否为单通道

3.检查标签是否正确,建议用labelme或者labelimg

4.数据类型是否与源码数据类型一样,比如uint8、int32等

5.检查数据data.py,以及自己的标签mask大小,修改mask以及标签索引值。附程序:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 29 21:47:22 2018

@author: customer
"""


from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
img=np.array(Image.open('/home/customer/Desktop/cellseg/data/membrane/train/label/13_1.png'))  #打开图像并转化为数字矩阵
plt.figure("cell")
plt.imshow(img)
plt.axis('off')
plt.show()
print (img.shape)  
print (img.dtype )
print (img.size) 
print (type(img))
print (img.shape[2])

6.epoch设置过小,训练不够

没有跑出自己数据集的小伙伴可以试一下我上面的方法。

 

你可能感兴趣的:(u-net程序换上自己的数据集全黑的 解决办法)