Python - AttributeError: у объекта 'dict' нет атрибута 'train' - PullRequest
0 голосов
/ 03 мая 2018

У меня есть эта ошибка: AttributeError: у объекта 'dict' нет атрибута 'train' в моем коде ниже:

def main(unused_argv):
# Load training and eval data
image_ind = 10
svhn = sio.loadmat('train_32x32.mat')
# access to the dict
x_train = svhn['X']
y_train = svhn['y']
# show sample
plt.imshow(x_train[:,:,:,image_ind])
print(y_train[image_ind])

train_data = svhn.train.images  # Returns np.array
train_labels = np.asarray(svhn.train.labels, dtype=np.int32)

eval_data = sio.loadmat('test_32x32.mat')
# access to the dict
x_test = eval_data['X']
y_test = eval_data['y']
eval_dataSVHN = eval_data.test.images  # Returns np.array
eval_labels = np.asarray(eval_data.test.labels, dtype=np.int32)

при выполнении я получаю сообщение об ошибке:

train_data = svhn.train.images  # Returns np.array
AttributeError: 'dict' object has no attribute 'train'

Как я могу это исправить?

1 Ответ

0 голосов
/ 03 мая 2018

Я не вижу ничего плохого ... scipy.io.loadmat возвращает словарь , а базовые словари не имеют атрибута "train". Если в файле matlab есть переменная train, она будет сохранена как ключ словаря, поэтому вы можете получить к ней доступ как svhn['train'] (в отличие от svhn.train).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...