数据集的预处理
#下载mnist数据
from pathlib import Path
import requests
DATA_PATH=Path("data")
PATH=DATA_PATH/"mnist"
PATH.mkdir(parents=True,exist_ok=True)
URL="http://deeplearning.net/data/mnist"
FILENAME="mnist.pkl.gz"
if not(PATH/FILENAME).exists():
content=requests.get(URL+FILENAME).content
(PATH/FILENAME).open("wb").write(content)
#划分测试集 训练集
import pickle
import gzip
with gzip.open((PATH/FILENAME).as_posix(),"rb") as f:
((x_train,y_train),(x_valid,y_valid),_)=pickle.load(f,encoding="latin-1")
#显示第一个图片并查看其大小
from matplotlib import pyplot
import numpy as np
pyplot.imshow(x_train[0].reshape((28,28)),cmap="gray")
print(x_train.shape)
#shape是查看矩阵有多少列多少行
#reshape是重构矩阵
import torch
x_train,y_train,x_valid,y_valid=map(
torch.tensor,(x_train,y_train,x_valid,y_valid)
)
n,c=x_train.shape
x_train,x_train.shape,y_train.min(),y_train.max()
print(x_train,y_train)
print(x_train.shape)
print(y_train.min(),y_train.max())
开始构建网络