from tensorboardX import SummaryWriter import torchvision writer=SummaryWriter(log_dir="embedding") mnist=torchvision.datasets.MNIST("mnist",download=True) writer.add_embedding( mat=mnist.train_data.reshape((-1,28*28))[:100,:], metadata=mnist.train_labelS[:100], label_img=mnist.train_data[:100,:,:].reshape((-1,1,28,28)).float()/255, global_step=0 )
add_embedding(mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None)
mat (torch.Tensor or numpy.array): 一个矩阵,每行代表特征空间的一个数据点
metadata (list or torch.Tensor or numpy.array, optional): 一个一维列表,mat 中每行数据的 label,大小应和 mat 行数相同
label_img (torch.Tensor, optional): 一个形如 NxCxHxW 的张量,对应 mat 每一行数据显示出的图像,N 应和 mat 行数相同
global_step (int, optional): 训练的 step
tag (string, optional): 数据名称,不同名称的数据将分别展示
mat
是二维 MxN,metadata
是一维 N,label_img
是四维 NxCxHxW!
label_img
记得归一化为 0-1 之间的 float 值