0%

deep-learning-network

0. 前言

最近看了一些代码,发现大家的代码风格互相不一样,且没有一个统一的风格,所以抽象一个大致流程,用于更快地熟悉代码。

1. 神经网络

从pytorch的代码中看,可以发现发现这么几个阶段。

1.1 数据dataset

这一阶段根据具体需求可以分为离线预处理、在线预处理,主要是对数据预处理,包括不限于图片的处理,名字的处理等等。

代表代码:

1
2
3
4
class xxx():
__getitem__(index):

data = data.Dataloader()

1.2 神经网络

主要分为:

  • 搭建网络
  • 输入
  • 损失函数
  • 反向传播

其中关键的是搭建网络和损失函数。

有些代码会对神经网络的输入再次处理,有些代码会将输入、损失函数、反向传播重新写个方法或者类,类似trainer。

1.3 可视化

可视化方法包括不限于visdom、tensorboard、html、输出重定向。

loss的获取,用一个dict的loss记录。