У меня есть эта функция, которая вращает изображения MNIST. Функция возвращает тензор питчера. Я более знаком с Tensorflow и хочу преобразовать тензор pytorch в numpy ndarray, который я могу использовать. Есть ли функция, которая позволит мне это сделать? Я попытался немного изменить функцию, добавив. numpy () после tensor(img.rotate(rotation)).view(784)
и сохранив ее в пустой ndarray, но это не сработало. Параметр d
- это данные MNIST, сохраненные в .pt
(думаю, pytensor). Спасибо! (Хотелось бы узнать, есть ли функция тензорного потока, которая может вращать данные.)
t = 1
min_rot = 1.0 * t / 20 * (180 - 0) + \
0
max_rot = 1.0 * (t + 1) / 20 * \
(180 - 0) + 0
rot = random.random() * (max_rot - min_rot) + min_rot
rotate_dataset(x_tr, rot)
def rotate_dataset(d, rotation):
result = torch.FloatTensor(d.size(0), 784)
tensor = transforms.ToTensor()
for i in range(d.size(0)):
img = Image.fromarray(d[i].numpy(), mode='L')
result[i] = tensor(img.rotate(rotation)).view(784)
return result