神经网络pytorch搭建入门

使用GPU运算麻烦点,如果你只使用cpu直接就可以了,cuda都不用了

pip3 install torch torchvision torchaudio

1、安装cuda,本人版本12.1,地址https://developer.nvidia.com/cuda-downloads

2、基本配置,安装python-3.11.4,torch-2.3.1+cu121,torchaudio-2.3.1+cu121,torchvision-0.18.1+cu121,下载地址

pytorch-wheels-cu121安装包下载_开源镜像站-阿里云

下载对应python后缀版本的,cu后缀的表示使用GPU的,包管理工具pip3,下载完了本地安装,官网指令下载速度很慢,

本地安装指令 ,本地下载文件路径就可以安装了

pip3 install package

3、安装所有包后,验证版本,查看cuda,torch版本号

import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.cuda.is_available())

输出:

>>> import torch
>>> print(torch.__version__)
2.3.1+cu121
>>> print(torch.version.cuda)
12.1
>>> print(torch.cuda.is_available())
True
>>>

返回True表示所有安装成功了,可以使用GPU来运算了

4、所有配置成功后运行官方demo

Quickstart — PyTorch Tutorials 2.5.0+cu124 documentation

首先训练模型

epoch = 50

本人电脑训练50次准确率82.7%,电脑太卡了,训练慢,你可以加大运算次数让准确率到达90%以上

-------------------------------
loss: 0.371654  [   64/60000]
loss: 0.492396  [ 6464/60000]
loss: 0.315301  [12864/60000]
loss: 0.531903  [19264/60000]
loss: 0.453852  [25664/60000]
loss: 0.470964  [32064/60000]
loss: 0.315301  [12864/60000]
loss: 0.531903  [19264/60000]
loss: 0.453852  [25664/60000]
loss: 0.470964  [32064/60000]
loss: 0.491820  [38464/60000]
loss: 0.605111  [51264/60000]
loss: 0.436173  [57664/60000]
Test Error:
 Accuracy: 82.7%, Avg loss: 0.489933

Done!
Saved PyTorch Model State to model.pth

5、训练完了使用模型

def ai_work():
    classes = [
        "T-shirt/top",
        "Trouser",
        "Pullover",
        "Dress",
        "Coat",
        "Sandal",
        "Shirt",
        "Sneaker",
        "Bag",
        "Ankle boot",
    ]

    model.eval()
    x, y = test_data[0][0], test_data[0][1]
    with torch.no_grad():
        x = x.to(device)
        pred = model(x)
        predicted, actual = classes[pred[0].argmax(0)], classes[y]
        print(f'Predicted: "{predicted}", Actual: "{actual}"')

输出成功预测到结果:

Shape of X [N, C, H, W]: torch.Size([64, 1, 28, 28])
Shape of y: torch.Size([64]) torch.int64
Using cuda device
NeuralNetwork(
  (flatten): Flatten(start_dim=1, end_dim=-1)
  (linear_relu_stack): Sequential(
    (0): Linear(in_features=784, out_features=512, bias=True)
    (1): ReLU()
    (2): Linear(in_features=512, out_features=512, bias=True)
    (3): ReLU()
    (4): Linear(in_features=512, out_features=10, bias=True)
  )
)
Predicted: "Ankle boot", Actual: "Ankle boot"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值