My DL study.
Pytorch、Tf和tf.keras的学习代码整理.
分别用Pytorch、Tf(1.x)和tf.keras实现了一个Demo,该Demo虽然小,但是五脏俱全,
它有下面的特点:
- 均支持数据输入,模型定义,训练的模块化.
- 均支持数据多输入和批量训练.
这里的多输入指的是,每一个样本的都特征包括三部分:
第一部分是三维
tensor(模拟图片)
第二部分是二维
tensor(模拟句子)
第三部分是一维
tensor(模拟一般的ML的特征)
在
Pytorch的例子中,该部分使用了Dataset和DataLoader的API.
在
Tf的例子中,该部分使用了tf.data.Dataset的API,支持tfrecoder的写入生成,读取和解析.
在
tf.keras的例子中,该部分可以无缝衔接的使用Tf中的tf.data.Dataset的API.
- 均支持单机多卡训练.
- 均支持模型的保存和加载(增量训练).
在
Tf的例子中,模型的定义、单机多卡训练、保存和加载中基本使用的 是Tf的低级API,而高级API在tf.keras中使用.
- 均支持
tensorboard可视化.
Pytorch的完整的项目代码在Pytorch_learn/MyPytorchDemo中.
Tensorflow的完整的项目代码在Tf_learn/MyTfDemo中.
tf.keras的完整的项目代码在Keras_learn/MyKerasDemo中.
参考的一些资料和博客在参考资料中.