1. 用池化操作對圖像降維打擊
2. 利用混合高斯模型分塊降維
import torchvision
from PIL import Image
import torch.nn.functional as F
loader = torchvision.transforms.Compose(
[torchvision.transforms.Resize(128),
torchvision.transforms.CenterCrop(128),
torchvision.transforms.ToTensor()])
image = Image.open(r'14602193.jpg').convert('RGB')
image = loader(image).unsqueeze(0) ** 100
m3 = F.adaptive_avg_pool2d(image, 16).squeeze(0).view(3, -1).t().numpy()
print(m3.shape)
from sklearn.mixture import GaussianMixture
gmm = GaussianMixture(n_components=2).fit(m3)
labels = gmm.predict(m3)
print(labels)
sum = 0
for i in labels:
if i == 1:
sum = sum + 1
print(len(labels))
print(sum)