我正在尝试处理我的地面真相图像,以创建一个热编码张量:
def one_hot(img, nclasses):
result = np.zeros((img.shape[0], img.shape[1], nclasses))
img_unique = img.reshape(512*512, img.shape[2])
unique = np.unique(img_unique, axis=0)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
for k, unique_val in enumerate(unique):
if (np.array_equal(img[i,j], unique_val)):
result[i,j,k] = 1
break
return result
这是从WxHx3图像创建WxHxN张量。我真的不喜欢这种方法,因为它的性能。你能建议更有效的方法吗
我尝试使用tf.one_hot,但它将图像转换为WxHx3xN张量
对于已知3个类的特定场景,这应该可以更快地工作
对于纯TF2.x方法,还可以执行以下操作
相关问题 更多 >
编程相关推荐