首页 > 其他分享 >在cifar-10数据集上t-sne可视化效果最好(๑•̀ㅂ•́)و✧

在cifar-10数据集上t-sne可视化效果最好(๑•̀ㅂ•́)و✧

时间:2024-03-19 13:45:36浏览次数:23  
标签:10 sne torch features labels list cifar import mat

还是需要在python上面保存模型,加载模型,然后提取特征保存为mat文件就行了(但我现在只加载了64维特征,4096维特征还没试过,估计也可以但应该会又慢又不好看)

①先放matlab可视化t-sne的代码

% 加载特征数据
data = load('10_157_ckpt.pth.mat');
features = data.features;
labels = data.labels;

% 执行 t-SNE 降维
% 这里的参数可以根据你的需求进行调整
X_reduced = tsne(features, 'Algorithm', 'exact', 'NumDimensions', 2, 'Perplexity', 30);

% 绘制 t-SNE 可视化图
figure;
gscatter(X_reduced(:,1), X_reduced(:,2), labels);
title('t-SNE Visualization');
xlabel('t-SNE Dimension 1');
ylabel('t-SNE Dimension 2');
legend('Location', 'best');
grid on;

效果
image

②读取模型,提取特征保存为mat(现在不太推荐了)

import torch
from torch.utils.data import DataLoader
from cifar.resnet import ResNet32
from cifar.data_utils import *
import numpy as np
import scipy.io

# 设置参数
batch_size = 100
checkpoint_path = '//home/zy/pycharm/project/MetaSAug-main/ImageNet_iNat/models/resnet50_uniform_e90.pth.tar'  # 模型的路径,你需要替换成你保存的模型的路径
output_file = '/home/zy/pycharm/project/MetaSAug-main/yangzy/TEST_159_ckpte90.pth.mat'  # 特征保存的文件名,可以是.mat格式

# 建立数据加载器
_, train_dataset, test_dataset = build_dataset('cifar100', 100)  # 假设你使用的是CIFAR-100数据集

train_loader = torch.utils.data.DataLoader(
    train_dataset, batch_size=batch_size, shuffle=True)

test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False)



# 建立模型
model = ResNet32(num_classes=100)  # 假设你使用的是CIFAR-100数据集
checkpoint = torch.load(checkpoint_path)
model.load_state_dict(checkpoint['state_dict'])
model.eval()

# 设置设备
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = model.to(device)

# 提取特征
features_list = []
labels_list = []
with torch.no_grad():
    for inputs, labels in test_loader:
        inputs = inputs.to(device)
        # 使用模型前向传播获取特征
        features, _ = model(inputs, 4096)
        features_list.append(features.cpu().numpy())
        labels_list.append(labels.numpy())

# 将特征保存为.mat文件
features_array = np.concatenate(features_list, axis=0)
labels_array = np.concatenate(labels_list, axis=0)
output_dict = {'features': features_array, 'labels': labels_array}
scipy.io.savemat(output_file, output_dict)

print("Features saved to", output_file)

标签:10,sne,torch,features,labels,list,cifar,import,mat
From: https://www.cnblogs.com/ZarkY/p/18082587

相关文章

  • 不平衡数据集cifar100训练模型,提取特征保存为mat文件
    主要分两步走,先训练好模型,保存模型,然后再读取模型,保存特征①训练模型,保存模型importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorchvisionimporttorchvision.transformsastransformsfromtorch.utils.data.samplerimportWeightedRandomSampler......
  • HK22010/T2直流智能充电模块:引领未来充电新风尚
    在数字化、智能化的浪潮下,充电技术也迎来了前所未有的革新。今天,我们就来深入了解一下HK22010/T2直流智能充电模块,这款引领未来充电新风尚的高科技产品。HK22010/T2直流智能充电模块以其高效、智能的特点,成为了市场上的一大亮点。它采用了先进的直流充电技术,能够实现快速、稳......
  • 算法模板 v1.10.1.20240319
    算法模板v1.1.1.20240115:之前历史版本已不可寻,创建第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”;删除“编译”-“手动开O优化”;修改“编译”-“CF模板”;删除“读写”;删除“图论”-“欧拉图”-“混合图”;删除“图论”-“可达性统计”;删除“数据类型”-“高精类”。......
  • linux hadoop106 history 1000
    ls2bin/flinkrun./examples/batch/WordCount.jar-Dexecution.runtime-mode=BATCH--input/opt/module/word.txt--output/opt/module/result.txt3bin/flinkrun./examples/batch/WordCount.jar-Dexecution.runtime-mode=BATCH-yDfs.overwrite-files=......
  • 第七章 Windows 10常见故障排查_实验案例一
    实验案例一:使用Windows安全模式解决系统故障1、实验环境    某公司的计算机全部安装了Windows10操作系统.公司员工由于操作不当,误安装了错误的驱动程序.导致计算机无法正常启动,现需要将错误的驱动程序卸载.2、需求描述通过安全模式进入操作系统。卸载掉存在兼容性......
  • MB10F-ASEMI适配器专用整流桥MB10F
    编辑:llMB10F-ASEMI适配器专用整流桥MB10F型号:MB10F品牌:ASEMI封装:MBF-4最大重复峰值反向电压:1000V最大正向平均整流电流(Vdss):1A功率(Pd):中小功率芯片个数:4引脚数量:4类型:贴片整流桥、整流桥正向浪涌电流:35A正向电压:1.00V最大输出电压(RMS):封装尺寸:如图工作温度:-55°C~......
  • Windows 10常见故障排查_实验案例(一)
    实验案例一:使用Windows安全模式解决系统故障1、实验环境    某公司的计算机全部安装了Windows10操作系统,公司员工由于操作不当,误安装了错误的驱动程。导致计算机无法正常启动,现需要将错误的驱动程序卸载。2、需求描述通过安全模式进入操作系统。卸载掉存在兼容性......
  • 第七章 Windows 10 常见故障排查_案例一
    实验案例一:使用Windows安全模式解决系统故障1、实验环境        某公司的计算机全部安装了Windows10操作系统,公司员工由于操作不当,误安装了错误的驱动程序,导致计算机无法正常启动,现需要将错误的驱动程序卸载,2、需求描述通过安全模式进入操作系统卸载掉存在兼容......
  • 10分钟教你建一个漂亮大气的网站并立即上线使用
    10分钟教你建一个漂亮大气的网站并立即上线使用需要准备资料:服务器一台,最好有独立Ip,建议购买云服务器域名一个,按国家要求备案。部署简介:我们将采用全界面式的安装。管理服务器采用宝塔基于宝塔安装数据库,安装WordPress配置WordPress模板,编辑页面内容步骤一:在服务器......
  • 【JavaScript编程实操10】1.实现一个函数,要求传递2个参数,返回两个参数的和 2.创建一个
    前言1、实现一个函数,要求传递2个参数,返回两个参数的和代码:实现效果:2、创建一个函数,传递两个参数,返回两个参数的相乘和相加的和代码:实现效果:总结前言    本次继续针对Javascript阶段的函数与对象相关方面的实操练习,共有2个实操,这两个实操具有相似性,只是一个......