| 122 | |
| 123 | |
| 124 | class FaceNet(nn.Module): |
| 125 | def __init__(self, num_classes=1000): |
| 126 | super(FaceNet, self).__init__() |
| 127 | self.feature = evolve.IR_50_112((112, 112)) |
| 128 | self.feat_dim = 512 |
| 129 | self.num_classes = num_classes |
| 130 | self.fc_layer = nn.Linear(self.feat_dim, self.num_classes) |
| 131 | |
| 132 | def predict(self, x): |
| 133 | feat = self.feature(x) |
| 134 | feat = feat.view(feat.size(0), -1) |
| 135 | out = self.fc_layer(feat) |
| 136 | return out |
| 137 | |
| 138 | def forward(self, x): |
| 139 | # print("input shape:", x.shape) |
| 140 | # import pdb; pdb.set_trace() |
| 141 | |
| 142 | feat = self.feature(x) |
| 143 | feat = feat.view(feat.size(0), -1) |
| 144 | out = self.fc_layer(feat) |
| 145 | return [feat, out] |
| 146 | |
| 147 | |
| 148 | class FaceNet64(nn.Module): |
no outgoing calls
no test coverage detected