import os
import numpy as np
import torch
import torchvision.transforms as transforms
from PIL import Image
from torchvision.models import resnet50
from sklearn.cluster import MiniBatchKMeans
from networks.vae import *
from sklearn.decomposition import PCA
# 设置图片文件夹路径、输出文件夹路径和聚类数目
img_folder = "xxx"
output_folder = "xxx"
num_clusters = 3
# 加载ResNet50模型
model = resnet50(pretrained=True, num_classes=2)
path = r'xxx.pth'
model.load_state_dict(torch.load(path), strict=False)
# 定义图像变换
transform = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
# transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
# 加载所有图片
file_names = os
minibatch kmeans+可视化(数据集中的图片在resnet网络基础上进行聚类)
最新推荐文章于 2023-08-01 17:13:06 发布
该代码示例展示了如何利用预训练的ResNet50模型提取图像特征,然后通过MiniBatchKMeans进行聚类。对指定文件夹中的图片进行处理,将图片根据特征分配到不同的类别中,并保存到对应的文件夹。最后,通过散点图可视化聚类结果。
摘要由CSDN通过智能技术生成