Neh*_*kya 28 python python-3.x
我知道以前有人问过这个问题,但我似乎无法让我的工作。
import numpy as np
def load_dataset():
def download(filename, source="http://yaan.lecun.com/exdb/mnist/"):
print ("Downloading ",filename)
import urllib
urllib.urlretrieve(source+filename,filename)
import gzip
def load_mnist_images(filename):
if not os.path.exists(filename):
download(filename)
with gzip.open(filename,"rb") as f:
data=np.frombuffer(f.read(), np.uint8, offset=16)
data = data.reshape(-1,1,28,28)
return data/np.float32(256)
def load_mnist_labels(filename):
if not os.path.exists(filename):
download(filename)
with gzip.open(filename,"rb") as f:
data = np.frombuffer(f.read(), np.uint8, offset=8)
return data
X_train = load_mnist_images("train-images-idx3-ubyte.gz")
y_train = load_mnist_labels("train-labels-idx1-ubyte.gz")
X_test = load_mnist_images("t10k-images-idx3-ubyte.gz")
y_test = load_mnist_labels("t10k-labels-idx1-ubyte.gz")
return X_train, y_train, X_test, y_test
X_train, y_train, X_test, y_test = load_dataset()
import matplotlib
matplotlib.use("TkAgg")
import matplotlib.pyplot as plt
plt.show(plt.imshow(X_train[3][0]))
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Traceback (most recent call last):
File "C:\Users\nehad\Desktop\Neha\Non-School\Python\Handwritten Digits
Recognition.py", line 38, in <module>
X_train, y_train, X_test, y_test = load_dataset()
TypeError: cannot unpack non-iterable NoneType object
Run Code Online (Sandbox Code Playgroud)
我是机器学习的新手。我只是错过了一些简单的事情吗?我正在为我的学校科学展览尝试手写数字识别项目。
Ama*_*ras 19
我认为你X_train, y_train, X_test, y_test是在你的load_mnist_images函数中定义的,因此不是为你定义的load_dataset函数。
您应该从X_train = ...to取消缩进 5 行,return X_train, ...然后您的代码可能会更好地工作。
Nic*_*ais 17
当您对None( 的NoneType)执行多重分配时,您会收到此错误。例如:
X_train, y_train, X_test, y_test = None
Run Code Online (Sandbox Code Playgroud)
类型错误:无法解包不可迭代的 NoneType 对象
所以如果你得到这个,错误很可能是赋值的右手部分不是你所期望的(没什么)。
将多个分配拆分/中断为 None 可以解决此问题。
例如,这不起作用:
test_set_raw, test_set_transformed, train_set_raw, train_set_transformed = None
Run Code Online (Sandbox Code Playgroud)
这确实有效(没有错误):
test_set_raw = None
test_set_transformed = None
train_set_raw = None
train_set_transformed = None
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124934 次 |
| 最近记录: |