def __init__(self): self.layers = [ # before the first convblock: ConvLayer((7, 7), c_in=3, c_out=64, stride=2, padding='SAME'), BatchNormLayer(64), ReLULayer(), MaxPoolLayer(dim=3), # convblock: ConvBlock(c_in=64, fm_sizes=[64, 64, 256], stride=1), # identity block x 2: IdentityBlock(c_in=256, fm_sizes=[64, 64, 256]), IdentityBlock(c_in=256, fm_sizes=[64, 64, 256]), # convblock: ConvBlock(c_in=256, fm_sizes=[128, 128, 512], stride=2), # identity block x 3: IdentityBlock(c_in=512, fm_sizes=[128, 128, 512]), IdentityBlock(c_in=512, fm_sizes=[128, 128, 512]), IdentityBlock(c_in=512, fm_sizes=[128, 128, 512]), # convblock: ConvBlock(c_in=512, fm_sizes=[256, 256, 1024], stride=2), # identity block x 5: IdentityBlock(c_in=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(c_in=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(c_in=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(c_in=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(c_in=1024, fm_sizes=[256, 256, 1024]), # convblock: ConvBlock(c_in=1024, fm_sizes=[512, 512, 2048], stride=2), # identity block x 2: IdentityBlock(c_in=2048, fm_sizes=[512, 512, 2048]), IdentityBlock(c_in=2048, fm_sizes=[512, 512, 2048]), # pool / flatten / dense: AvgPool(kernel_size=7), Flatten(), DenseLayer(m_in=2048, m_out=1000) ] self.input_ = tf.placeholder(tf.float32, shape=(None, 224, 224, 3)) self.output = self.forward(self.input_)
def __init__(self): self.layers = [ # before conv block ConvLayer(d=7, mi=3, mo=64, stride=2, padding='SAME'), BatchNormLayer(64), ReLULayer(), MaxPoolLayer(dim=3), # conv block ConvBlock(mi=64, fm_sizes=[64, 64, 256], stride=1), ] self.input_ = tf.placeholder(tf.float32, shape=(None, 224, 224, 3)) self.output = self.forward(self.input_)
def __init__(self): self.layers = [ # before conv block ConvLayer(d=7, mi=3, mo=64, stride=2, padding='SAME'), BatchNormLayer(64), ReLULayer(), MaxPoolLayer(dim=3), # conv block ConvBlock(mi=64, fm_sizes=[64, 64, 256], stride=1), ] self.input_ = keras.Input(shape=(224, 224, 3), dtype=tf.float32) self.createModel_(self.input_)
def __init__(self): self.layers = [ # before conv block ConvLayer(d=7, mi=3, mo=64, stride=2, padding='SAME'), BatchNormLayer(64), ReLULayer(), MaxPoolLayer(dim=3), # conv block ConvBlock(mi=64, fm_sizes=[64, 64, 256], stride=1), # identity block x 2 IdentityBlock(mi=256, fm_sizes=[64, 64, 256]), IdentityBlock(mi=256, fm_sizes=[64, 64, 256]), # conv block ConvBlock(mi=256, fm_sizes=[128, 128, 512], stride=2), # identity block x 3 IdentityBlock(mi=512, fm_sizes=[128, 128, 512]), IdentityBlock(mi=512, fm_sizes=[128, 128, 512]), IdentityBlock(mi=512, fm_sizes=[128, 128, 512]), # conv block ConvBlock(mi=512, fm_sizes=[256, 256, 1024], stride=2), # identity block x 5 IdentityBlock(mi=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(mi=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(mi=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(mi=1024, fm_sizes=[256, 256, 1024]), IdentityBlock(mi=1024, fm_sizes=[256, 256, 1024]), # conv block ConvBlock(mi=1024, fm_sizes=[512, 512, 2048], stride=2), # identity block x 2 IdentityBlock(mi=2048, fm_sizes=[512, 512, 2048]), IdentityBlock(mi=2048, fm_sizes=[512, 512, 2048]), # pool / flatten / dense AvgPool(ksize=7), Flatten(), DenseLayer(mi=2048, mo=1000) ] self.input_ = tf.compat.v1.placeholder(tf.float32, shape=(None, 224, 224, 3)) self.output = self.forward(self.input_)
def __init__(self): self.layers = [ # before ConvBlock: ConvLayer((7, 7), c_in=3, c_out=64, stride=2, padding='SAME'), BatchNormLayer(64), ReLULayer(), MaxPoolLayer(dim=3), # ConvBlock: ConvBlock(c_in=64, fm_sizes=[64, 64, 256], stride=1), ] self.input_ = tf.placeholder(tf.float32, shape=[None, 224, 224, 3]) self.output = self.forward(self.input_)