## 一些研究

1、如何才能准确地得到这些嵌入，从而使比较有意义?

2、嵌入可视化

3、ResNet50的结果

4、自编码器作为嵌入提取器

ResNet50的表现并不好，那幺自编码器呢？ 我们使用下面的架构：

class FaceAutoencoder(nn.Module):
def __init__(self):
super(FaceAutoencoder, self).__init__()
self.conv1 = nn.Sequential(
nn.ReLU(),
)
self.conv2 = nn.Sequential(
nn.ReLU(),
)
self.conv3 = nn.Sequential(
nn.ReLU(),
)
self.conv4 = nn.Sequential(
nn.ReLU(),
)
self.fc_conv = nn.Sequential(
nn.Flatten(1),
nn.Linear(16384, 8),
nn.ReLU(),
)
self.fc_deconv = nn.Sequential(
nn.Linear(8, 16384),
nn.ReLU(),
nn.Unflatten(dim=1, unflattened_size=[256, 8, 8])
)
self.deconv1 = nn.Sequential(
nn.ReLU(),
)
self.deconv2 = nn.Sequential(
nn.ReLU(),
)
self.deconv3 = nn.Sequential(
nn.ReLU(),
)
self.deconv4 = nn.Sequential(
nn.ReLU(),
)

def encode(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = self.conv3(x)
x = self.conv4(x)
x = self.fc_conv(x)
return x

def decode(self, x):
x = self.fc_deconv(x)
x = self.deconv1(x)
x = self.deconv2(x)
x = self.deconv3(x)
x = self.deconv4(x)
return x

def forward(self, x):
x = self.encode(x)
x = self.decode(x)
return x

## 总结

https://avoid.overfit.cn/post/65e58d9868e349ed8380b6a980112dba