for i in range(5): client_dataset = dataset.shuffle(buffer_size=len(train_images)) client_dataset = dataset.batch(batch_size=50) plot_data = collections.defaultdict(list) for example in client_dataset: plot_data[example['label'].numpy()].append(example['pixels'].numpy()) f = plt.figure(i, figsize=(12, 5)) f.suptitle("Client #{}'s Mean Image Per Label".format(i)) for j in range(10): mean_img = np.mean(plot_data[j], 0) plt.subplot(2, 5, j+1) plt.imshow(mean_img.reshape((28, 28))) plt.axis('off')运行该行代码时出现unhashable type: 'numpy.ndarray'错误该如何修改
时间: 2023-06-07 19:11:08 浏览: 93
hand_dataset.tar.gz
数据集 {}".format(i)) for j in range(10): ax = f.add_subplot(2, 5, j+1) pixels = plot_data[j][0][0] pixels = np.array(pixels, dtype='uint8') reshaped_pixels = pixels.reshape((28, 28)) ax.imshow(reshaped_pixels, cmap='gray')
这段代码是一个循环,用于生成5个客户端数据集,每个数据集包含打乱顺序的训练图像,以及一个批次大小为50的图像批次。对于每个数据集,该代码会将类别标签和像素值存储在一个字典中,然后将这些值用于绘制一组10个子图像,分别表示10个不同的手写数字。在生成的每个图像中,每个数字将呈现为灰度图像。
阅读全文