我想使用初始模型训练图像分类器。 现在,我有一种名为鸡饭的菜肴。 假设我想制作米饭和鸡肉类。 那么我可以将输出接地真实概率设计为[0.5,0.5,0,0,0 ...]吗? 换句话说,如果目标图像包含两个类的内容,我该怎么做才能使其合理?
有人试过这个吗?
我试图单独训练图像,谷歌也这样做了。
keycnt = 0
imagcnt = 0
TestNumber_byclass = np.zeros([keycount],np.int32)
for key in TestKeys:
TestNumber_byclass[keycnt] = len(json_data_test[key])
for imagedata in json_data_test[key]:
imgdata = tf_resize_images(imagdir + imagedata + '.jpg')
imgdata = np.array(imgdata, dtype = np.uint8)
# make image center at 0 in the range of (-1,1]
#imgdata = (imgdata - mean - 128) / 128
h5f = h5py.File(h5filedir_test + str(imagcnt) + ".h5", "w")
h5f.create_dataset('image', data=imgdata)
h5f.create_dataset('label', data=keycnt)
h5f.create_dataset('name' , data=key)
h5f.close()
imagcnt = imagcnt + 1
keycnt =keycnt +1
message = '\r[%d/%d] progress...' % (keycnt,keycount)
sys.stdout.write(message)
sys.stdout.flush()
非常感谢。
答案 0 :(得分:1)
您尝试做的是多类分类,其中将预测N类中的M个。如果对象出现在图像中并将其设置为0(如果情况并非如此),通常可以通过将标志设置为1来完成。
真正重要的信息是最后一个激活函数需要是一个sigmoid而不是softmax。这样你就可以将每个类与其他类的置信度分离,并且总和将在0和N之间。