Pytorch框架介绍


1.简介

  优点:

  编程简单,类似Numpy

  只需要设置前向传播,反向传播过程梯度自动计算

  动态图,方便调试

2.基本组成元素

  Tensor:基本数据单元,多维数组(data)

  Vairable:等同于带梯度的Tensor(data + grad + creator),高版本中与tenesor合并

  nn:卷积、池化、激活函数等层的实现

  Module:网络结构,包含一系列Tensor和nn的计算过程

  torch基本操作:运算

  只保留叶子节点的梯度,或使用retain_grad(),保留中间变量的梯度

  nn----卷积、池化、激活等层,function只定义一个操作,无法保存参数

  带有参数的放在网络的初始化中,不带参数的放在前向传播中

3.构建神经网络

  步骤:

    准备数据:Dataset Dataloader,可以快速、提前提取数据到内存中,提供框架,只需要写核心函数,提供多种数据增广支持

    网络设计:初始化、forward

    损失函数:nn.entrophy,  nn.MSELoss

    参数更新:torch.optim optimizer = optimSGD(net.parameters(), lr=args.lr, momentum = 0.9, weight_decay=1e-4)

  进阶

  1)多GPU并行,torch.nn.DataParallel单机多卡

  2)cpp extension扩展,实现新的功能,加速。过程:使用.c实现,将其编译成python可用的,最后加入pytorch(function, module)网络中

  3)tensorboardX可视化,安装tensorflow,安装tensorboardX,初始化,记录,可视化

    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM