Я совершенно новичок в Python, и в настоящее время я работаю над этой программой в онлайн-книге Майкла Нильсена «Нейронные сети и глубокое обучение», пока пытаюсь запустить готовый модуль с именем mnist_loader. py, функция с именем load_data_wrapper () внутри модуля не приписывается.
Ссылка на код находится здесь: https://github.com/mnielsen/neural-networks-and-deep-learning/blob/master/src/mnist_loader.py
Вот код для модуля, mnist_loader.py:
import cPickle
import gzip
import numpy as np
def load_data():
f = gzip.open('../data/mnist.pkl.gz', 'rb')
training_data, validation_data, test_data = cPickle.load(f)
f.close()
return (training_data, validation_data, test_data)
def load_data_wrapper():
tr_d, va_d, te_d = load_data()
training_inputs = [np.reshape(x, (784, 1)) for x in tr_d[0]]
training_results = [vectorized_result(y) for y in tr_d[1]]
training_data = zip(training_inputs, training_results)
validation_inputs = [np.reshape(x, (784, 1)) for x in va_d[0]]
validation_data = zip(validation_inputs, va_d[1])
test_inputs = [np.reshape(x, (784, 1)) for x in te_d[0]]
test_data = zip(test_inputs, te_d[1])
return (training_data, validation_data, test_data)
def vectorized_result(j):
e = np.zeros((10, 1))
e[j] = 1.0
return e
Пока я пытаюсь запустить следующий код:
>>> import mnist_loader
>>> training_data, validation_data, test_data = \
... mnist_loader.load_data_wrapper()
Переводчик показывает:
AttributeError: 'module' object has no attribute 'load_data_wrapper'
Я проверяю каталог, и модуль mnist_loader.py сам не имеет ошибок.
Затем я попытался извлечь функцию load_data_wrapper и использовать ее сам по себе, используя:
from mnist_loader import load_data_wrapper
и показывает:
ImportError: cannot import name load_data_wrapper
Я ожидаю, что код загрузит файл mnist.pkl.gz и выведет данные MNIST.