Pytorch
1、安装
conda create --name pyhorch python=3.8
activate pyhorch
pip install torch torchvision torchaudio
pip install jupyter ## win 跳出选择是否的框,必须选择‘否’
pip install matplotlib
# 安装主题
pip install jupyterthemes
# 查看主题
jt -l
# 主题切换
jt -t chesterish
# 启动
jupyter notebook --ip=127.0.0.1 --port=8000
# 返回当前设备索引
torch.cuda.current_device()
# 返回GPU的数量
torch.cuda.device_count()
# 返回gpu名字,设备索引默认从0开始
torch.cuda.get_device_name(0)
# cuda是否可用
torch.cuda.is_available()
Test
import torch
from torch.utils.data import Dataset
from torchvision import datasets
from torchvision.transforms import ToTensor
import matplotlib.pyplot as plt
training_data = datasets.FashionMNIST(
root="data",
train=True,
download=True,
transform=ToTensor()
)
test_data = datasets.FashionMNIST(
root="data",
train=False,
download=True,
transform=ToTensor()
)
labels_map = {
0: "T-Shirt",
1: "Trouser",
2: "Pullover",
3: "Dress",
4: "Coat",
5: "Sandal",
6: "Shirt",
7: "Sneaker",
8: "Bag",
9: "Ankle Boot",
}
figure = plt.figure(figsize=(8, 8))
cols, rows = 3, 3
for i in range(1, cols * rows + 1):
sample_idx = torch.randint(len(training_data), size=(1,)).item()
img, label = training_data[sample_idx]
figure.add_subplot(rows, cols, i)
plt.title(labels_map[label])
plt.axis("off")
plt.imshow(img.squeeze(), cmap="gray")
plt.show()
错误
'''
Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
'''
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
'''
Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
IOError: image file is truncated (X bytes not processed)
'''
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
'''
数据集较小时(小于2W)建议num_works不用管默认就行,因为用了反而比没用慢。
当数据集较大时建议采用,num_works一般设置为(CPU线程数+-1)为最佳,可以用以下代码找出最佳num_works(注意windows用户如果要使用多核多线程必须把训练放在
if __name__ == '__main__':下才不会报错)
'''
# windows 环境下
num_works==0