如果将上篇文章中涉及到的算法都自己手写完一遍后,我们开始尝试利用自己手写的算法,搭建一个完整的 resnet50 神经网络。
网络结构就参考这个链接中的网络结构,是在之前下载模型的章节中,下载的模型。
为了搭建一个完整的神经网络,定义一个 Resnet 的类,这个类就包含 resnet50 的所有层和结构。该类很简单,只有一个名为run的函数,用来运行这个神经网络。
下面是 python 代码定义的这个类。
class Resnet():
def run(self, img):
out = ComputeConvLayer(img, "conv1")
out = ComputeBatchNormLayer(out, "bn1")
out = ComputeReluLayer(out)
out = ComputeMaxPoolLayer(out)
# layer1
out = ComputeBottleNeck(out, "layer1_bottleneck0", down_sample = True)
out = Co