0
は、私は私のネットワークに使用されている画像はOKだったことを見てみたかったので、私は次のコードを使用してそれらの束を保存:torchvision MNISTローダーが正しく動作していないか、間違っていますか?
train_set = dset.MNIST(root=root, train=True, transform=transforms.ToTensor(), download=download)
for it, (img, target) in enumerate(train_loader):
X = Variable(img)
tar = Variable(target)
X = X.view(batch_size, -1)
cur_img_batch = X.data.numpy()
cur_tar_batch = tar.data.numpy()
for i in range(batch_size):
cur_img = cur_img_batch[i]
im = Image.fromarray(cur_img.reshape((28, 28)).astype('uint8') * 255)
if cur_tar_batch[i] == 8:
im.save(test_img_dir + 'iter_' + str(it) + '_sample_' + str(i) + '.png')
これはクリーンなコードではありませんが、それはちょうど束を節約しますすべての画像に「8」と表示されます。それらを開くと、ほとんどの小さなものが完全にfineであっても、そのほとんどはthisのように見えます。
何か間違っていますか?コメントから
この行 'cur_img.reshape((28,28))astype( 'uint8')* 255'データを255に掛ける前に整数に変換していますか? –
もちろん!これはそれでした - ありがとうございました:) –
正しい行は次のようになります:im = Image.fromarray((cur_img.reshape((28,28))* 255).astype( 'uint8')) –