この質問は以前にもされたことがあることは知っていますが、私の場合はうまくいかないようです。
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]))
次のようなエラーが発生しています:
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
私は機械学習の初心者です。何か簡単なことを見逃したのでしょうか? 学校の科学展で手書き数字認識プロジェクトに挑戦しています。
ベストアンサー1
None
このエラーは、 ( )への多重代入を実行したときに発生しますNoneType
。例:
X_train, y_train, X_test, y_test = None
TypeError: 反復不可能な NoneType オブジェクトを解凍できません
したがって、このエラーが発生した場合、割り当ての右側の部分が予想どおりではない (何もない) ことが原因である可能性が最も高くなります。