zoukankan      html  css  js  c++  java
  • 动手学深度学习 | PyTorch神经网络基础 | 14

    模型构造

    这里主要是要继承nn.Module这个类,然后书写其中的__init__() & forward()方法即可。

    参数管理

    假设我们已经定义好我们的模型了,那我们参数应该怎么去访问?

    自定义层

    自定层其实和自定义网络没有什么区别,因为层也是nn.Module的一个子类。

    读写文件

    读写文件,就是训练的东西怎么存下来,这个也是一个很关键的事情。

    QA

    1. 将字符串转换为one-hot内存爆了怎么办?

    这里有两个办法处理

    • 一个是使用稀疏矩阵来存储,就不要把那些0都存储下来,这是一个常用的做法
    • 如果是对竞赛的话,一个是地址肯定是很多不同的,还有就是简介,那这些其实是可以做提取词处理的。其实最简单的就是先放弃这个维度的特征(当然这样是不好的)关于字符串的处理还是需要一些NLP的知识的。
    1. MLP层数,以及每一层单元数是怎么设置的?

    在之前课程的QA中有过MLP层数设计的经验的分享,其实这个还是要调参的... 就是试出来的好效果。

    1. 实例化后,不用调用实例方法,就可以net(X),是因为父类实现了魔方方法吗?

    是的,直接括号调用方法是因为父类nn.Module中已经实现了__call__方法。

    1. kaiming初始化是按什么规则初始化的?

    其实这里是没有讲过kaiming初始化的,效果其实和xavier差不多。

    其实大家不要太迷信初始化,初始化的主要目的就是就是让模型在一开始迭代的时候不要炸掉。

    1. 自定义的狐火函数如果是非可导的话auto-grad是否可以求出导数?还是必须先自定义导数?

    其实应该说不存在不可导的函数,一般不可导都是在函数的几个离散点,都是可以求的,左导数或者右导数,导数会跳没有关系,一般都是可以导的。

  • 相关阅读:
    可能有点用的东西
    专题整理
    模拟赛x+1
    【原】如何利用 events 提升 k8s 集群可观察性
    【原】k8s ingress-nginx 针对指定 User-Agent 爬虫进行限速
    装饰者模式-动态的包装原有对象的行为
    观察者模式-将消息通知给观察者
    策略模式-定义一个算法族
    工厂模式-将对象的创建封装起来
    单例模式的五种实现方式及优缺点
  • 原文地址:https://www.cnblogs.com/Rowry/p/15318535.html
Copyright © 2011-2022 走看看