
PyTorch从入门到实践
CoreJT
中科院自动化所在读直博生,感兴趣的研究方向:文本分类、情感分析、机器阅读理解与问答系统以及对话系统。
展开
-
PyTorch从入门到实践 | (6) PyTorch实战指南:猫狗二分类
原文地址 在学习某个深度学习框架时,掌握其基本知识和接口固然重要,但如何合理组织代码,使得代码具有良好的可读性和可扩展性也必不可少。本文不会深入讲解过多知识性的东西,更多的则是传授一些经验,关于如何使得自己的程序更pythonic,更符合pytorch的设计理念。这些内容可能有些争议,因其受我个人喜好和coding风格影响较大,你可以将这部分当成是一种参考或提议,而不是作为必须遵循的准则。归根到...转载 2019-08-07 14:35:02 · 3725 阅读 · 0 评论 -
PyTorch从入门到实践 | (5) PyTorch常用工具
在训练神经网络过程中,需要用到很多工具,其中最重要的三部分是:数据加载预处理、可视化和GPU加速。本章主要介绍Pytorch在这几方面的工具模块,合理使用这些工具能够极大地提高编码效率。 目录 1. 数据处理 2. 计算机视觉工具包:torchvision 3. 可视化工具 4. 使用GPU加速:cuda 5. 持久化 1. 数据处理 在解决深度学习问题的过程中,往往需要花费大量的...原创 2019-08-05 19:52:33 · 2345 阅读 · 0 评论 -
PyTorch从入门到实践 | (4) 神经网络工具箱nn
在上一篇博客中,我们使用autograd可实现深度学习模型,但其抽象程度较低,如果用其来实现深度学习模型,则需要编写的代码量极大。在这种情况下,torch.nn应运而生,其是专门为深度学习而设计的模块。torch.nn的核心数据结构是Module,它是一个抽象概念,既可以表示神经网络中的某个层(layer),也可以表示一个包含很多层的神经网络。在实际使用中,最常见的做法是继承nn.Module,撰...原创 2019-08-05 15:10:58 · 1810 阅读 · 0 评论 -
PyTorch从入门到实践 | (3) Autograd
用Tensor训练网络很方便,但从上篇博客最后的线性回归例子来看,反向传播过程需要自己手动实现。这对于像线性回归等较为简单的模型来说,还可以应付,但实际使用中经常出现非常复杂的网络结构,此时如果手动实现反向传播,不仅费时费力,而且容易出错,难以检查。torch.autograd就是为方便用户使用,而专门开发的一套自动求导引擎,它能够根据输入和前向传播过程自动构建计算图,并执行反向传播。 计算图(...原创 2019-08-03 13:01:22 · 525 阅读 · 0 评论 -
PyTorch从入门到实践 | (2) Tensor
Tensor,又名张量,它不仅在PyTorch中出现过,它也是Theano、TensorFlow、 Torch和MxNet中重要的数据结构。关于张量的本质不乏深度的剖析,但从工程角度来讲,可简单地认为它就是一个数组,且支持高效的科学计算。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)和更高维的数组(高阶数据)。Tensor和Numpy的ndarrays类似,但PyTorch的tenso...原创 2019-08-02 19:27:04 · 718 阅读 · 0 评论 -
PyTorch从入门到实践 | (1) PyTorch快速入门
PyTorch的简洁设计使得它入门很简单,在深入介绍PyTorch之前,本节将先介绍一些PyTorch的基础知识,使大家能够对PyTorch有一个大致的了解,并能够用PyTorch搭建一个简单的神经网络。 目录 1. Tensor 2. 自动求导:Autograd 3. 神经网络 4. 总结 1. Tensor Tensor是PyTorch中重要的数据结构,可认为是一个高维数组。它可...原创 2019-08-02 11:35:35 · 1443 阅读 · 0 评论