一个开源项目的流程:

  • 先跑通
  • 不要去看具体的细节,了解大概架构就行
  • 再看哪些地方有问题
  • 怎么去提升准确性

    PyTorch 介绍

  • np.array与torch.tensor之间进行转换

image.png

  • tensor存储到GPU上

image.png

  • tensor求梯度

image.png
image.png

  • slice

image.png

  • broadcasting操作

在逻辑上扩展张量数据的形状,但只有需要时才会复制

  • einsum操作(?)

Dataset 和 Iterator

构造网络

image.png

提升结果(各种Trick……)

  • 分词
  • 数据清理(来自网上的言论会有奇怪的符号)
  • 训练集、验证集、测试集(具有一定代表性)(更多地去看训练集的结果)
  • word-embedding之前再稍微预训练一次
  • 选什么词向量(通常选大的,或者多个词向量拼一块,BERT与词向量一块)
  • batch_size、 learning_rate等一些超参数
  • ?多卡分布式计算……(Deep Speed)
  • ?使用梯度累计
  • Dropout的选择
  • 优化器。学习率 warm up
  • 不能同时进行训练!!最开始固定住Embedding
  • 初始化(正态初始化可能会好些)