【发布时间】:2018-04-19 04:42:05
【问题描述】:
我刚得到一个带有 MNIST 数据的 torchvision.datasets 对象
train_dataset= dsets.MNIST(root='./data',train=True,transform=transforms.ToTensor(),download=True)
我想将此元组转换为一组形状为 60000x28x28 和标签为 60000 的 numpy 数组
我知道提供数据的形式,可以直接应用到pytorch神经元中作为训练数据,但我想将这些数据转换成numpy数组。
我做的第一件事是将 (data,labels) 的元组与 zip(*train_dataset) 分开
data,labels = zip(*train_dataset)
labels 很容易转换为 numpy 数组,但是我无法按照我想要的方式将“数据”转换为 numpy 数组。当我尝试将所有数据转换为 numpy.array 之类的
data[:].numpy()
我收到一条错误消息,告诉我“元组”对象没有“numpy”属性。如果我将此 data[:] 转换为 numpy,则仅将第一个维度(60000 个数据)转换为 numpy.array,但其余的仍为张量。
我可以使用循环转换所有数据(实际上我做到了)并且它可以工作,但是它真的很慢。以前有人做过这样的转换吗?
谢谢。
【问题讨论】:
标签: python arrays numpy pytorch tensor