【DL】血与泪的炼丹心得

2023-10-29

记录一些炼丹的心得(都是坑啊)

以下都是经过很多实验得到的炼丹心得,希望对大家有帮助

  1. 模型很复杂,各种网络融合,尝试用更小的学习率和更多的epoch
  2. 学习率预热是个好东西,必须用上,学习率很重要,可以发掘模型的极限,但是无法改变模型的上限,模型的上限取决于其结构,学习率预热在pytorch的实现方法:
from transformers import get_linear_schedule_with_warmup
# 总步长:batch的个数*epoches
t_total = len(train_loader) * epoches
# optimizer:优化器,num_warmup_steps:达到最大学习率的步长,如果为0则一开始就是最大学习率,num_training_steps:总步长
scheduler = get_linear_schedule_with_warmup(optimizer, num_warmup_steps=0, num_training_steps=t_total)
  1. batch_size太小模型不收敛,太大显存吃不消,一般来说batch_size会有一个最大值,32,48,64都可以试试,batch增大,学习率也要稍微增大
  2. 全连接层不需要太复杂,2-3层即可,第二层神经元增加(×2,3,4都可以试试),第三层减小(/2, /10, /100都可以试试),第四层就是我们的输出个数了。
  3. 卷积层(convs)的卷积核个数(out_channels)一般和词(字)嵌入维度差不多,2/3 ~ 3/2 都可以试试。
  4. LSTM的隐藏状态纬度(hidden_size)一般和词(字)嵌入差不多大, 层数(num_layers)一般为1层,两层也可以试试,太多肯定不好。
  5. 不管在lstm里还是全连接层,Dropout是必须的,0.1即可,激活函数用RELU系列。
  6. 模型效果不好,思考一下是否需要归一化,不同向量融合时数值是否差距过大,考虑用全连接层nn.Linear进行一次线性变换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【DL】血与泪的炼丹心得 的相关文章

随机推荐

  • stm32 HAL工程KE架构

    在写了很多代码之后 如果前期没规划好 后期维护是一个大难题 所以参考了RTthread源码和linux驱动之后 写了这个嵌入式项目架构 分为了APL BLL FML HDL BSP HARDWARE KE架构在stm32的应用 如果是stm
  • linux运维笔记:epel源简介

    EPEL是一个由特别兴趣小组创建 维护并管理的 针对红帽企业版 Linux RHEL 及其衍生发行版 比如 CentOS Scientific Linux Oracle Enterprise Linux 的一个高质量附加软件包项目 官方网址
  • 24点卡牌游戏(C++)

    一 题目 24点游戏是经典的纸牌益智游戏 mfc是一个很优秀的同学 他学习认真 经常刷题 偶尔也会打打游戏来放松omfc最喜欢卡牌类型游戏24点 游戏的规则是 你会被分配抽取N张扑克牌 分别从A K 其中我们规定牌面为A的牌 其数值为1点
  • Java8新特性-Stream

    1 1 Stream的创建 1 1 1 Stream of 创建Stream最简单的方式是直接用Stream of 静态方法 传入可变参数即创建了一个能输出确定元素的Stream public class Main public stati
  • SD、SDIO和MMC接口基础和规范介绍

    在MMC规范发展的过程中出现了很多的名词 如SDHC SDIO SDXC等 每次看到这些不同的规范都有点懵 也很容易搞混 所以本篇文章就来介绍一下MMC规范发展过程中出现的一些新的规范 并详细地理解一下SD和SDIO 文章目录 1 MMC规
  • 【cdk的使用】C/C++ TCP 粘包 拆包 及解决方案

    Github地址 https github com wujin1989 cdk TCP因为没有边界 所以会有粘包的问题 看下面代码 server c include cdk h include
  • 怎样利用 python 学习爬虫?

    一文搞懂Python gt 爬虫需要学什么 附送课程 笔记 关于Python爬虫 我们需要学 1 Python基础语法学习 基础知识 首先 你需要熟悉Python的基本语法 包括变量 数据类型 条件语句 循环 函数等 2 对HTML页面的内
  • 后缀mcp用什么软件打开_如何打开MCP文件?

    下载通用文件查看器 File Magic 安装可选产品 File Magic Solvusoft EULA Privacy Policy Terms Uninstall 步骤1 尝试不同的软件程序 如果无法打开MCP文件 则可能没有在计算机
  • JS实现插入排序

    1 算法简介 插入排序的工作原理就是将未排序数据 对已排序数据序列从后向前扫描 找到对应的位置并插入 插入排序通常采用占位的形式 空间复杂度为O 1 因此 在从后向前扫描的过程中 需要反复的把已排序的元素逐步向后挪位 为新插入元素提供插入的
  • xpath案例-解析所有城市名称

    第一种方法把热门城市和所有城市分开来考虑 import requests from lxml import etree if name main headers User Agent Mozilla 5 0 Windows NT 10 0
  • MQTT协议学习:1、MQTT协议了解

    MQTT协议学习 1 MQTT协议了解 文章目录 MQTT协议学习 1 MQTT协议了解 1 前言 2 MQTT简介 1 概述 2 相关名称 3 协议应用 4 开源方案 3 适用于FreeRTOS的MQTT库 4 最后 1 前言 MQTT可
  • CNN模型之LeNet-5

    一 介绍 卷积神经网络是当前深度学习领域比较火的研究方法 其应用主要是在计算机视觉上 例如 图像分类 目标检测 人脸识别等等 并且已经在这些领域取得了相当大的成就 本文主要介绍卷积神经网络的开篇之作 LeNet 5 LeNet 5由Y Le
  • vue在线预览word、excel、PDF

    1 安装依赖 docx文档预览组件 npm install vue office docx vue demi 0 13 11 S excel文档预览组件 npm install vue office excel vue demi 0 13
  • P4 晶体管四种工作状态+静态分析【更新】

    gt 晶体管四种工作状态 放大 饱和 截止 倒置 gt 静态分析 定量分析晶体管处于何种工作状态 注意 不安全区暂时不用关注 倒置状态暂时也可以不关注 放大区 之所以称为放大区 因为在这个区域 iB 与iC满足放大beta倍的关系 这是表面
  • getopt函数(未更新完)

    2023年7月28日 周五上午 这是我目前碰到过的比较复杂的函数之一 为了彻底弄懂这个函数 我花了几个小时 为了更好的说明这个函数 之后我可能会录制讲解视频并上传到B站 如果我上传到B站 我会在文章添加视频链接的 内容太多了 没写完 有空再
  • java Logback输出日志内容到文件

    要将logger info的信息输出到文件 您可以使用Logback配置 下面是一个简单的示例 1 首先 在您的项目中添加Logback依赖 例如在Maven项目中的pom xml文件中添加以下代码
  • 基于OpenCV的交通标志识别(SVM+Hu不变矩, 部分测试源代码)

    最近跟着老师做一个交通识别的项目 总算明白了一个道理 这水啊 不去亲自蹚上一遭就不知道有多深 更根本的原因当然还是自己学的不够扎实 不够好 经过了一个寒假的折磨 终于做出了一个原型来 想到了自己当时被折磨的头疼的样子 想着将一部分源代码发上
  • 前端post请求中body和query传参的区别

    前端发送请求最常用的是get请求还有post请求 get请求只能传query参数 query参数都是拼在请求地址上的 post可以传body和query两种形式的参数 如下 编辑项目列表 export function editProjec
  • SeqGPT: 开箱即用的开放域自然语言理解大模型

    论文链接 SeqGPT An Out of the box Large Language Model for Open Domain Sequence Understanding https arxiv org abs 2308 10529
  • 【DL】血与泪的炼丹心得

    记录一些炼丹的心得 都是坑啊 以下都是经过很多实验得到的炼丹心得 希望对大家有帮助 模型很复杂 各种网络融合 尝试用更小的学习率和更多的epoch 学习率预热是个好东西 必须用上 学习率很重要 可以发掘模型的极限 但是无法改变模型的上限 模