![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch
张贤同学
在读研究生,热爱技术,做过Android、嵌入式。现在研究但不限于:java、Android、Deep Learning、GCN。
联系邮箱:zhangxian_tech@163.com
博客地址:blog.zhangxiann.com
公众号:【张贤同学】
展开
-
[PyTorch 学习笔记] 汇总 - 完结撒花
PyTorch 学习笔记这篇文章是我学习 PyTorch 过程中所记录的学习笔记汇总,包括 25 篇文章,是我学习深度之眼 PyTorch 框架版课程期间所记录的内容。课程地址:https://ai.deepshare.net/detail/p_5df0ad9a09d37_qYqVmt85/6。学习笔记的结构遵循课程的顺序,共分为 8 周,循序渐进,力求通俗易懂。代码配套代码:https://github.com/zhangxiann/PyTorch_Practice所有代码均在 PyCharm原创 2020-10-17 09:58:49 · 1117 阅读 · 2 评论 -
[PyTorch 学习笔记] 8.4 手动实现 RNN
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson8/rnn_demo.py这篇文章主要介绍了循环神经网络(Recurrent Neural Network),简称 RNN。RNN 常用于处理不定长输入,常用于 NLP 以及时间序列的任务,这种数据一半具有前后关系。RNN 网络结构如下:上图的数据说明如下:xtx_{t}xt:时刻 t 的输入,shape=(1,57)shape=(1,57)shap.原创 2020-10-09 14:49:57 · 1229 阅读 · 2 评论 -
[PyTorch 学习笔记] 8.2 目标检测简介
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson8/detection_demo.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson8/fasterrcnn_demo.py这篇文章主要介绍了目标检测。目标检测是判断目标在图像中的位置,有两个要素:分类:分类向量 P0,P1,P2...P_{0}, P_{1}, P_.原创 2020-09-26 08:37:44 · 531 阅读 · 0 评论 -
[PyTorch 学习笔记] 8.3 GAN(生成对抗网络)简介
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson8/gan_inference.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson8/gan_demo.py这篇文章主要介绍了生成对抗网络(Generative Adversarial Network),简称 GAN。GAN 可以看作是一种可以生成特定分布数据的模.原创 2020-09-23 08:40:59 · 424 阅读 · 0 评论 -
[PyTorch 学习笔记] 8.1 图像分类简述与 ResNet 源码分析
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson8/resnet_inference.py这篇文章主要介绍了 图像分类的 inference,其中会着重介绍 ResNet。模型概览在torchvision.model中,有很多封装好的模型。可以分类 3 类:经典网络alexnetvggresnetinceptiondensenetgooglenet轻量化网络squeezene.原创 2020-09-19 11:35:55 · 507 阅读 · 0 评论 -
[PyTorch 学习笔记] 7.3 使用 GPU 训练模型
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/cuda_use.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/multi_gpu.py这篇文章主要介绍了 GPU 的使用。在数据运算时,两个数据进行运算,那么它们必须同时存放在同一个设备,要么同时是 CPU,要么同时是 GPU。而且数据和模型都要在同一个设备.原创 2020-09-19 11:17:09 · 876 阅读 · 0 评论 -
[PyTorch 学习笔记] 7.2 模型 Finetune
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/finetune_resnet18.py这篇文章主要介绍了模型的 Finetune。迁移学习:把在 source domain 任务上的学习到的模型应用到 target domain 的任务。Finetune 就是一种迁移学习的方法。比如做人脸识别,可以把 ImageNet 看作 source domain,人脸数据集看作 target domain。通常.原创 2020-09-15 16:32:13 · 449 阅读 · 0 评论 -
[PyTorch 学习笔记] 7.1 模型保存与加载
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/model_save.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/model_load.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson7/checkpoint_resume.p.原创 2020-09-15 16:27:03 · 391 阅读 · 0 评论 -
[PyTorch 学习笔记] 6.2 Normalization
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/bn_and_initialize.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/bn_in_123_dim.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/normalliz.原创 2020-09-10 23:03:02 · 297 阅读 · 0 评论 -
[PyTorch 学习笔记] 6.1 weight decay 和 dropout
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/L2_regularization.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/dropout_layer.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/dropout_r.原创 2020-09-08 15:32:41 · 573 阅读 · 0 评论 -
[PyTorch 学习笔记] 5.2 Hook 函数与 CAM 算法
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/hook_fmap_vis.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/hook_methods.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/weight_fmap_vi.原创 2020-09-07 15:24:36 · 379 阅读 · 0 评论 -
[PyTorch 学习笔记] 5.1 TensorBoard 介绍
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/tensorboard_methods.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/tensorboard_methods_2.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5.原创 2020-09-05 09:15:13 · 570 阅读 · 0 评论 -
[PyTorch 学习笔记] 4.3 优化器
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/optimizer_methods.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/momentum.py这篇文章主要介绍了 PyTorch 中的优化器,包括 3 个部分:优化器的概念、optimizer 的属性、optimizer 的方法。优化器的概念PyT.原创 2020-09-03 11:25:50 · 510 阅读 · 0 评论 -
[PyTorch 学习笔记] 4.2 损失函数
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/loss_function_1.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/loss_function_1.py这篇文章主要介绍了损失函数的概念,以及 PyTorch 中提供的常用损失函数。损失函数损失函数是衡量模型输出与真实标签之间的差异。我们还经常听到.原创 2020-09-02 19:06:18 · 650 阅读 · 0 评论 -
[PyTorch 学习笔记] 4.1 权值初始化
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/grad_vanish_explod.py在搭建好网络模型之后,一个重要的步骤就是对网络模型中的权值进行初始化。适当的权值初始化可以加快模型的收敛,而不恰当的权值初始化可能引发梯度消失或者梯度爆炸,最终导致模型无法收敛。下面分 3 部分介绍。第一部分介绍不恰当的权值初始化是如何引发梯度消失与梯度爆炸的,第二部分介绍常用的 Xavier 方法与 Kaiming.原创 2020-09-01 09:37:38 · 482 阅读 · 0 评论 -
[PyTorch 学习笔记] 3.3 池化层、线性层和激活函数层
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/nn_layers_others.py这篇文章主要介绍了 PyTorch 中的池化层、线性层和激活函数层。池化层池化的作用则体现在降采样:保留显著特征、降低特征维度,增大 kernel 的感受野。 另外一点值得注意:pooling 也可以提供一些旋转不变性。 池化层可对提取到的特征信息进行降维,一方面使特征图变小,简化网络计算复杂度并在一定程度上避免过拟合.原创 2020-08-31 10:20:06 · 1027 阅读 · 0 评论 -
[PyTorch 学习笔记] 3.2 卷积层
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/nn_layers_convolution.py这篇文章主要介绍了 PyTorch 中常用的卷积层,包括 3 个部分。1D/2D/3D 卷积卷积有一维卷积、二维卷积、三维卷积。一般情况下,卷积核在几个维度上滑动,就是几维卷积。比如在图片上的卷积就是二维卷积。一维卷积二维卷积三维卷积二维卷积:nn.Conv2d()nn.Conv2d(sel.原创 2020-08-30 09:19:51 · 755 阅读 · 0 评论 -
[PyTorch 学习笔记] 3.1 模型创建步骤与 nn.Module
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/module_containers.py这篇文章来看下 PyTorch 中网络模型的创建步骤。网络模型的内容如下,包括模型创建和权值初始化,这些内容都在nn.Module中有实现。网络模型的创建步骤创建模型有 2 个要素:构建子模块和拼接子模块。如 LeNet 里包含很多卷积层、池化层、全连接层,当我们构建好所有的子模块之后,按照一定的顺序拼接起来。.原创 2020-08-28 19:35:52 · 723 阅读 · 2 评论 -
[PyTorch 学习笔记] 2.3 二十二种 transforms 图片数据预处理方法
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson2/transforms/这篇主要分为几个部分介绍 transforms:裁剪旋转和翻转图像变换transforms 方法操作自定义 transforms 方法最后是数据增强的实战:对人民币二分类实验进行数增强。由于图片经过 transform 操作之后是 tensor,像素值在 0~1 之间,并且标准差和方差不是正常图片的。所以定义了tran.原创 2020-08-27 13:31:23 · 2804 阅读 · 1 评论 -
[PyTorch 学习笔记] 2.2 图片预处理 transforms 模块机制
PyTorch 的数据增强我们在安装PyTorch时,还安装了torchvision,这是一个计算机视觉工具包。有 3 个主要的模块:torchvision.transforms: 里面包括常用的图像预处理方法torchvision.datasets: 里面包括常用数据集如 mnist、CIFAR-10、Image-Net 等torchvision.models: 里面包括常用的预训练好的模型,如 AlexNet、VGG、ResNet、GoogleNet 等深度学习模型是由数据驱动的,数据的数原创 2020-08-27 13:20:24 · 1399 阅读 · 0 评论 -
[PyTorch 学习笔记] 2.1 DataLoader 与 DataSet
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson2/rmb_classification/人民币 二分类实现 1 元人民币和 100 元人民币的图片二分类。前面讲过 PyTorch 的五大模块:数据、模型、损失函数、优化器和迭代训练。数据模块又可以细分为 4 个部分:数据收集:样本和标签。数据划分:训练集、验证集和测试集数据读取:对应于PyTorch 的 DataLoader。其中 DataLoad.原创 2020-08-25 16:50:22 · 963 阅读 · 0 评论 -
[PyTorch 学习笔记] 1.5 autograd 与逻辑回归
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/autograd.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/logistic-regression.py自动求导 (autograd)在深度学习中,权值的更新是依赖于梯度的计算,因此梯度的计算是至关重要的。在 PyTorch 中,只需要搭建好前向计算图,然.原创 2020-08-21 09:02:35 · 346 阅读 · 0 评论 -
[PyTorch 学习笔记] 1.4 静态图与动态图机制
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/computational_graph.py计算图深度学习就是对张量进行一系列的操作,随着操作种类和数量的增多,会出现各种值得思考的问题。比如多个操作之间是否可以并行,如何协同底层的不同设备,如何避免冗余的操作,以实现最高效的计算效率,同时避免一些 bug。因此产生了计算图 (Computational Graph)。计算图是用来描述运算的有向无环图,有.原创 2020-08-20 23:28:36 · 745 阅读 · 0 评论 -
[PyTorch 学习笔记] 1.3 张量操作与线性回归
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/linear_regression.py张量的操作拼接torch.cat()torch.cat(tensors, dim=0, out=None)功能:将张量按照 dim 维度进行拼接tensors: 张量序列dim: 要拼接的维度代码示例:t = torch.ones((2, 3))t_0 = torch.cat([t, t], d.原创 2020-08-19 15:15:47 · 305 阅读 · 0 评论 -
[PyTorch 学习笔记] 1.1 PyTorch 简介与安装
PyTorch 的诞生2017 年 1 月,FAIR(Facebook AI Research)发布了 PyTorch。PyTorch 是在 Torch 基础上用 python 语言重新打造的一款深度学习框架。Torch 是采用 Lua 语言为接口的机器学习框架,但是因为 Lua 语言较为小众,导致 Torch 学习成本高,因此知名度不高。PyTorch 的发展2017 年 1 月正式发布 PyTorch。2018 年 4 月更新 0.4.0 版,支持 Windows 系统,caffe2 正式并原创 2020-08-15 23:43:32 · 457 阅读 · 4 评论 -
[PyTorch 学习笔记] 1.2 PyTorch 的 Tensor(张量)
Tensor 的概念本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/tensor_introduce1.pyhttps://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/tensor_introduce1.pyTensor 中文为张量。张量的意思是一个多为数组,它是标量、向量、矩阵的高维扩展。标量可以称为 0 维张量原创 2020-08-15 13:32:28 · 470 阅读 · 2 评论