1
が、私はその後、 のPythonのgzipモジュールはUBYTEファイルで期待どおりに
import numpy as np
def read_ubyte(self, fname):
with open(fname, 'rb') as flbl:
magic, num = struct.unpack(">II", flbl.read(8))
lbl = np.fromfile(flbl, dtype=np.int8)
return magic, num, lbl
if __name__ == "__main__":
print(read_ubyte("train-labels-idx1-ubyte"))
を実行
import gzip
import numpy as np
def read_ubyte(self, fname):
with gzip.open(fname, 'rb') as flbl:
magic, num = struct.unpack(">II", flbl.read(8))
lbl = np.fromfile(flbl, dtype=np.int8)
return magic, num, lbl
if __name__ == "__main__":
print(read_ubyte("train-labels-idx1-ubyte.gz"))
はgunzip train-labels-idx1-ubyte.gz
をやって最初のとまったく同じように機能するために、次のコードを期待動作しませんが、それはしません、最初のコードは、出力を与える:
(2049, 60000, array([ 0, 3, 116, ..., -22, 0, 0], dtype=int8))
及び第
(2049, 60000, array([5, 0, 4, ..., 5, 6, 8], dtype=int8))
なぜですか?
注1:第二は、(無gzip
モジュールの使用で)右の出力である
注2:あなたがしたい場合は、次の番号2049と60000は
注3右ですhttp://yann.lecun.com/exdb/mnist/