(梳理)用Tensorflow实现SE-ResNet50(SENet ResNet ResNeXt VGG16)的数据输入,训练,预测的完整代码框架(cifar10准确率90%)
//之前的代码有问题,重发一遍 这里做个整理,打算给一个ResNet的完整代码实现 当然也包括ResNeXt和SENet 其中SE-ResNeXt是最后一届ImageNet比赛的冠军模型 当然可能我写得烂……参数没精调…准确率提升也不是很明显 首先是数据处理部分,我自己实现过几个框架 多线程数据读入和处理框架(tf.data) 较早版本的队列多线程读入处理框架 最普通的单线程(用法和自带MNIST一样)读取数据 我用了多线程tf.data Cifar10原生数据集是python打包的 至于图片的话, 参考我的这篇 ,把Cifar10图片提取出来 主要是为了制成TFRecord格式,这样数据读取速度会很快(毕竟自家的东西优化得给足) VGG AlexNet之前已经跑过了就不跑了,滑动平均下准确率已经在85%以上了 AlexNet VGG16 不过我的网络看起来更像是全卷积网络FCN 原始的网络带有全连接层,但我用全局平均池化+1x1卷积代替全连接层,同时还加上了BN,SENet等后来才有的结构 准确率都能跑到85%以上 比较深的网络(VGG19)不加上BN很难收敛,我跑Kaggle的时候跑了10个epoch还是50%的准确率 SENet感觉像是一种Attention机制 ResNet和 ResNeXt 的差别不是很大,有点像Inception 不过每个通路都是完全一样的