pytorch 知识点总结(持续更新)

1、argparse的使用 (Python脚本时传入参数的三种方式之一:https://blog.csdn.net/u012426298/article/details/80263507

 

import argparse#必备
parser = argparse.ArgumentParser(description='PyTorch ImageNet Training')#必备
parser.add_argument('data', metavar='DIR',
                    help='path to dataset')#
parser.add_argument('-a', '--arch', metavar='ARCH', default='resnet18',
                    choices=model_names,
                    help='model architecture: ' +
                        ' | '.join(model_names) +
                        ' (default: resnet18)')
parser.add_argument('-j', '--workers', default=4, type=int, metavar='N',
                    help='number of data loading workers (default: 4)')
parser.add_argument('--epochs', default=90, type=int, metavar='N',
                    help='number of total epochs to run')

parser.add_argument('--lr', '--learning-rate', default=0.1, type=float,
                    metavar='LR', help='initial learning rate')


args = parser.parse_args()#必备

traindir = os.path.join(args.data, 'train')
    valdir = os.path.join(args.data, 'val')###
optimizer = torch.optim.SGD(model.parameters(), args.lr,#
                                momentum=args.momentum,
                                weight_decay=args.weight_decay)

执行文件:

python main.py -a alexnet --lr 0.01 [imagenet-folder with train and val folders]

2、限制使用哪个GPU

os.environ["CUDA_VISIBLE_DEVICES"] = "1"

3、读出Tensor里面的值

4、在分类任务中找出单个类别的准确率(每一个类别)

class_correct = list(0. for i in range(10))#10是类别的个数
class_total = list(0. for i in range(10))
with torch.no_grad():
    for data in testloader:
        images, labels = data
        outputs = net(images)
        _, predicted = torch.max(outputs, 1)
        c = (predicted == labels).squeeze()#每一个batch的(predicted==labels)
        for i in range(4):#4是每一个batch的个数
            label = labels[i]
            class_correct[label] += c[i].item()
            class_total[label] += 1


for i in range(10):
    print('Accuracy of %5s : %2d %%' % (
        classes[i], 100 * class_correct[i] / class_total[i]))#每一个类别的准确率

5、a.tolist()

将tensor 转变为list

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Windows操作系统下,同样可以使用PyTorch进行深度学习相关的计算。以下是一些PyTorch的基本知识点: 1. 安装PyTorch:在Windows上安装PyTorch可以通过pip或conda包管理器进行。可以在PyTorch官方网站上找到相应的安装指南。 2. 张量(Tensors):PyTorch中的核心数据结构是张量,它类似于NumPy的多维数组。张量可以用来存储和操作数据。 3. 自动求导(Autograd):PyTorch通过自动求导技术,可以自动计算张量上的梯度。这使得在神经网络训练中的反向传播算法更加方便。 4. 神经网络模块(nn.Module):PyTorch提供了一个模块化的接口(nn.Module),用于构建神经网络模型。可以定义各种层、损失函数、优化器等。 5. 数据加载(Data Loading):PyTorch提供了一些工具,用于加载和预处理数据。可以使用内置的数据集类或自定义数据集类来加载和处理数据。 6. 训练模型:使用PyTorch可以定义训练循环,包括前向传播、计算损失、反向传播和参数更新等步骤。可以使用不同的优化器(如SGD、Adam等)来更新模型参数。 7. GPU加速:PyTorch支持在GPU上进行计算,可以使用CUDA来利用GPU进行并行计算,加速模型训练和推理。 这些是PyTorch的一些基本知识点,在实际应用中还有更多的功能和技术可以探索和学习。可以参考PyTorch的官方文档和示例代码来深入学习和使用PyTorch

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值