tensorboard 数据降维分布图_TSNE如何画出多维数据分布图

本文介绍了如何利用Tensorboard和T-SNE进行数据降维,以绘制直观的数据分布图。通过预处理PyTorch的MNIST和SVHN数据集,转换为numpy格式并调整通道数,然后应用T-SNE进行降维到二维。最后使用matplotlib的plt.text或plt.scatter方法画图,并讨论了如何提高图像清晰度和设置图例。
摘要由CSDN通过智能技术生成

论文中一般都会有数据分布的图,很直观的可以看出迁移过程中分类面的改变。

2dc583266aace6f6850ecf5e7979a83c.png

那么这种图是怎么画的呢?很容易想到就是降维(PCA等)了。这里使用更高效的T-SNE流行学习法。如果你想深究,可以看看这个博主的教程写得非常详细,还有其他降维方法。

如果你想学我这样大概了解一下就行了,那就可以跳过。怎么才能简单画出二维分布图呢?(三维一样的道理,不过稍微复杂点)我这里以pytorch自带的MNISTSVHN数据为例。

数据预处理

pytorch里面直接调用是非常方便的,不过是tensor类型,我们要把它转为numpy格式。

MNIST(官方分成train和test了,使用的时候可以根据需要切换):

这里有个问题要注意:因为SVHN是三通道的,MNIST是单通道的,所以要记得expand成三通道的,不然无法concatenate在一起。

def get_mnist(train, path):
    """Get MNIST dataset loader."""
    # image pre-processing
    pre_process = transforms.Compose([transforms.Resize(6),
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值