learning
maze2023
这个作者很懒,什么都没留下…
展开
-
【总结】深度学习中的LOSS
【总结】深度学习中的损失函数1. 铰链损失/合页损失 Hinge LossSVM常用损失函数函数表达式L(y,f(x))=max(0,1−y⋅f(x))L(y,f(x)) = max(0,1-y·f(x))L(y,f(x))=max(0,1−y⋅f(x))函数图像通过上图可知,当y⋅f(x)>1y·f(x)>1y⋅f(x)>1时,loss=0loss=0loss=0;否则,loss=1−y⋅f(x)loss=1-y·f(x)loss=1−y⋅f(x)。也就是说,只有被原创 2020-12-07 21:50:50 · 2352 阅读 · 0 评论 -
【pytorch官方文档学习之十】PyTorch: Saving & Loading Model for Inference
本系列旨在通过阅读官方pytorch代码熟悉神经网络各个框架的实现方式和流程。PyTorch: Saving & Loading Model for Inference本文是对官方文档Saving & Loading Model for Inference的详细注释和个人理解,欢迎交流。Save/Load state_dict (Recommended)Save:torch.save(model.state_dict(), PATH)Load:model = Th原创 2020-10-05 11:46:25 · 196 阅读 · 0 评论 -
【pytorch官方文档学习之九】PyTorch: state_dict
本系列旨在通过阅读官方pytorch代码熟悉神经网络各个框架的实现方式和流程。【pytorch官方文档学习之九】PyTorch: state_dict本文是对官方文档What is a state_dict?的详细注释和个人理解,欢迎交流。state_dict的作用在pytorch中,每一个torch.nn.Module模型的可学习参数learnable parameters(weighs和biases)都存储到该模型的model.parameters()中。但是怎样将神经网络的每一层layer与原创 2020-10-05 11:05:35 · 247 阅读 · 0 评论 -
【pytorch官方文档学习之八】PyTorch: Control Flow + Weight Sharing
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之八】PyTorch: Control Flow + Weight Sharing本文是对官方文档PyTorch: Control Flow + Weight Sharing的详细注释和个人理解,欢迎交流。实例为了举例说明动态图(dynamic graph)和权值共享(weight sharing),以下实例实现的是一个奇怪的模型——全连接ReLU网络:其前向传播过程随机选择1~4间的一个数字并原创 2020-09-26 12:08:42 · 512 阅读 · 1 评论 -
【pytorch官方文档学习之七】PyTorch: Custom nn Modules
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之六】PyTorch: Custom nn Modules本文是对官方文档PyTorch: Custom nn Modules的详细注释和个人理解,欢迎交流。nn.Module比预想中的还要强大,你可以通过其子类(subclass)自定义自己的功能更复杂的模型。实例以下实例是自定义实现的两层神经网络(custom Module subclass)。# -*- coding: utf-8 -原创 2020-09-25 22:39:19 · 287 阅读 · 0 评论 -
【pytorch官方文档学习之六】torch.optim
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之六】torch.optim本文是对官方文档PyTorch: optim的详细注释和个人理解,欢迎交流。learnable parameters的缺点本系列的之前几篇文章已经可以做到使用torch.no_grad或.data来手动更改可学习参数的tensors来更新模型的权重。但是这种方法对于简单的优化算法,如stochastic gradient descent随机梯度下降尚可,而对于实际中更原创 2020-09-25 19:54:43 · 172 阅读 · 0 评论 -
【pytorch官方文档学习之五】torch.nn Module
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之四】nn Module本文是对官方文档PyTorch: nn的详细注释和个人理解,欢迎交流。计算图(computational graph)和自动求导(autograd)的缺点本系列前面提到的计算图和自动求导对于定义复杂的运算符和自动求导可提供异常简便的代码编写思路,但是对于层数较多的深度神经网络显得极其低效。因此,在构建神经网络时,我们希望将计算步骤分为一定数目的层layers,其中的一些层原创 2020-09-25 16:51:24 · 272 阅读 · 0 评论 -
【pytorch官方文档学习之四】new autograd functions
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之四】new autograd functions本文是对官方文档PyTorch: Defining new autograd functions的详细注释和个人理解,欢迎交流。该系列前一篇文章讲解了使用autograd代替人工定义反向传播求解loss梯度下降的方法。其实,每个自动求导运算符都是作用在tensors上的两种函数:forward和backward。其中,forward函数的作用是由输原创 2020-09-25 16:21:55 · 162 阅读 · 0 评论 -
【pytorch官方文档学习之三】autograd
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之三】autograd本文是对官方文档PyTorch: Tensors and autograd的详细注释和个人理解,欢迎交流。系列的前两篇文章都是基于numpy和tensor的CNN人工实现,这种方式对于深度神经网络来说耗时费力,pytorch里面提供的autograd包可以很好地解决自动求导的问题。当调用autograd的时候,网络的前向传播将会定义一张computational graph(原创 2020-09-25 15:50:30 · 184 阅读 · 0 评论 -
【pytorch官方文档学习之二】tensors
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之一】tensors本文是对官方文档PyTorch: Tensors的详细注释和个人理解,欢迎交流。tensor 与 numpy的区别Behind the scenes, Tensors can keep track of a computational graph and gradients, but they’re also useful as a generic tool for scie原创 2020-09-25 10:52:49 · 102 阅读 · 0 评论 -
【pytorch官方文档学习之一】numpy
本系列旨在通过阅读官方pytorch代码熟悉CNN各个框架的实现方式和流程。【pytorch官方文档学习之一】numpy本文是对官方文档Tensors——warm-up:numpy的详细注释和个人理解,欢迎交流。numpy是一种nd-array数据类型,无法直接作为GPU的输入,须转变成tensor或variable类型。以下是利用numpy实现的两层CNN,包括forward和backward。# -*- coding: utf-8 -*-import numpy as np# N is原创 2020-09-24 22:28:31 · 111 阅读 · 0 评论