mnist에서 파일을 저장하고 읽을 때 gzip 과 정체로를 'rb'를 따라서 입력했었다.
gzip은 압축파일을 다룰 때 사용하는 것이고
rb 는 저장형식(?) 으로 볼 수 있다.
R:read
W: write
a:추가
+: 수정
t : text
b : 바이너리
따라서 'rb' 는 읽기전용 바이너리 파일로 저장하라는 뜻이다.
디폴트는 rt라고 한다.
밑에 minst를 zip에서 불러와서 저장 하는 코드이다.
import gzip
import numpy as np
fnames =['train-images-idx3-ubyte.gz','train-labels-idx1-ubyte.gz','t10k-images-idx3-ubyte.gz','t10k-labels-idx1-ubyte.gz']
with gzip.open(fnames[0],'rb') as f:
train_image = np.frombuffer(f.read
(),np.uint8,offset =16)
with gzip.open(fnames[1],'rb') as f:
train_label = np.frombuffer(f.read(),np.uint8,offset =8)
with gzip.open(fnames[2],'rb') as f:
test_image = np.frombuffer(f.read(),np.uint8,offset =16)
with gzip.open(fnames[3],'rb') as f:
test_label = np.frombuffer(f.read(),np.uint8,offset =8)
train_image = train_image.reshape(-1,28*28)
test_image = test_image.reshape(-1,28*28)
print(train_image.shape)
print(train_label.shape)
print(test_image.shape)
print(test_label.shape)
np.savez('MNIST_array.npz',train_image=train_image,train_label=train_label,test_image=test_image,test_label=test_label)
코드를 보지않고
1. gzip으로 압축파일에서 불러와서
2. savez로 저장하고
3. 다시 불러오는 연습을 해야할것 같다.
'Data Science > 파이썬 기본문법' 카테고리의 다른 글
[Pandas] 기본 문법 (0) | 2020.07.26 |
---|---|
[파이썬] random 모듈 randint, randn, rand (0) | 2020.04.30 |
[파이썬] matplotlib 기본 그리기 연습 (0) | 2020.04.22 |
[파이썬] NUMPY 기본 문법 복습 (0) | 2020.04.22 |
모든 순열 구하는 방법(재귀함수를 활용) (1) | 2020.04.06 |
댓글