pytorch 第一章第一节:PyTorch简介

PyTorch简介

  • 2017年1月,FAIR(FacebookAIResearch)发布PyTorch
  • PyTorch是在Torch基础上用python语言重新打造的一款深度学习框架
  • Torch是采用Lua语言为借口的机器学习框架,但因Lua语言较为小众,导致torch知名度不高。

PyTorch发展

  • 2017年1月正式发布PyTorch
  • 2018年4月更新0.4.0版本,支持Windows系统,caffe2正式并入PyTorch
  • 2018年11月更新1.0稳定版,已GitHub 增长第二快的开源项目
  • 2019年5月更新1.1.0版本,支持TensorBoard,增强可视化功能
  • 2019年8月更新1.2.0版本,更新torchvision,torchaudio和torchtext,增加更多功能
  • 2014年10月至2018年02月 arXiv论文中深度学习框架提及次数统计
    pytorch 第一章第一节:PyTorch简介_第1张图片
    PyTorch的增长速度与TensorFlow一致
  • 2019年3月各深度学习框架在GitHub上的Start,Forks,Watchers和Contributors数量对比pytorch 第一章第一节:PyTorch简介_第2张图片

PyTorch优点

  • 上手快:掌握Numpy和基本深度学习概念即可上手
  • 代码简介灵活:用nn.module封装使网络搭建更方便;基于动态图机制,更灵活
  • Debug方便:调试PyTorch就像调试Python代码一样简单
  • 文档规范:Https://pytorch.org/docs/可查看各版本文档
  • 资源多:arXiv中的新算法大多由PyTorch实现
  • 开发者多:GitHub上贡献者(Contributors)已超过1000+
  • 背靠大树:FaceBook维护开发

软件安装
python pycharm anaconda

使用GPU之前我需要安装PyTorch的GPU版本,建议使用conda安装,官方教程地址

conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

检测是否可以使用GPU,使用一个全局变量use_gpu,便于后面操作使用

use_gpu = torch.cuda.is_available()

可以使用GPU,use_gpu的值为True,否则为False。当可以使用GPU,我们不想使用,可以直接赋值use_gpu = False
我们在进行转换时,需要把数据,网络,与损失函数转换到GPU上
1.构建网络时,把网络,与损失函数转换到GPU上

model = get_model()
loss_f = t.nn.CrossEntropyLoss()
if(use_gpu):
    model = model.cuda()
    loss_f = loss_f.cuda()

2.训练网络时,把数据转换到GPU上

if (use_gpu):
    x,y = x.cuda(),y.cuda()

3.取出数据是,需要从GPU准换到CPU上进行操作

if(use_gpu):
    loss = loss.cpu()
    acc = acc.cpu()

你可能感兴趣的:(PyTorch,人工智能,深度学习)