python - 如何修复 AttributeError:“模块”对象没有属性“功能”?
问题描述
我对 Python 完全陌生,我目前正在研究 Michael Nielsen 的在线书籍中的程序:“neural-networks-and-deep-learning”,同时我正在尝试运行一个名为 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 数据。
解决方案
您需要将其存储在存储文件的同一目录中,您可以在其中尝试导入。
哦,如果您使用的是 JupyterLab,也许您需要执行以下操作:
$ # Imports the workspace file `file_name.json`.
$ jupyter lab workspaces import file_name.json
Saved workspace: <workspaces-directory>/labworkspacesfoo-54d5.jupyterlab-workspace
此处的项目 7.2 和 7.6:JupyterLab 手册
推荐阅读
- python - 我有一个包含 130 个变量的数据集,我必须检查所有变量的相关性,有什么方法可以检查一次
- ios - 观察 NSManagedObject 变量上的 didSet
- flutter - 将 Flutter 动画场景编码为视频文件
- html - 如何防止孩子在flexbox中超出其父宽度?
- excel - 输出字符串文本数组,但在代码字典数组中我有两个具有相同字母的字符串
- javascript - 错误类型错误:无法读取未定义的属性“替换”
- python - 在有向图中查找结束节点
- android - 当有一个带按钮的 RecyclerView 时,SetFocus 无法使用硬件键盘处理 Activity 的 EditText
- node.js - MongoDB Node JS UpdateOne 错误:检测到循环依赖
- angular - 离子构建已经开始失败,“装饰器不支持函数表达式”