minibatch kmeans+可视化(数据集中的图片在resnet网络基础上进行聚类)

该代码示例展示了如何利用预训练的ResNet50模型提取图像特征,然后通过MiniBatchKMeans进行聚类。对指定文件夹中的图片进行处理,将图片根据特征分配到不同的类别中,并保存到对应的文件夹。最后,通过散点图可视化聚类结果。
摘要由CSDN通过智能技术生成
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值