
可视化
佳hong
这个作者很懒,什么都没留下…
展开
-
使用基于python的neurora进行表征相似性分析(RSA)
发现了一款用于表征分析的Python API,还是挺方便的,这里简单介绍一下进行表征相似性分析的使用方法。原创 2023-01-05 17:19:41 · 2169 阅读 · 1 评论 -
记录一下一个plt的界面显示多个子图像(仅仅是核心代码笔记,代码不完整)
代码:inset_axes可以在当前视图下添加一个小图,列表内为坐标,transform是坐标变换piesize = dx/len(node_weighs)/2 # this is the image sizep2 = piesize / 2.0if node_weighs is not None: for i in range(len(node_weighs)): xi, yi = x[i], y[i] a = ax.inset_axes([xi-p原创 2022-03-09 18:25:57 · 664 阅读 · 0 评论 -
补一个之前发的tensorbord可视化中的tensorbordutil文件
from tensorboardX import SummaryWriterimport torchvision.utils as vutils# 定义Summary_Writerwriter = SummaryWriter('./Result') # 数据存放在这个文件夹def show(model,loss): # 显示每个layer的权重 print(model) for i, (name, param) in enumerate(model.named_par.原创 2021-12-21 14:11:24 · 286 阅读 · 2 评论 -
总结一下深度学习里可视化图像的一些问题
可视化工具使用matplotlib,针对经过torchvision的tranformer变换后要可视化的一些问题原图:问题1经过处理后,如果直接去做可视化,如使用这样的语句:img = img.detach().cpu().numpy().reshape(224,224,3)出现图像如下解决方法,使用ToPILImagefrom torchvision.transforms import ToPILImageimg = ToPILImage()(img...原创 2021-09-01 11:33:57 · 456 阅读 · 0 评论 -
pytorch 评估模型参数的方法
import torch from torchstat import stat import torchvision.models as models net = models.vgg11() stat(net,(3,224,224)) # (3,224,224)表示输入图片的尺寸使用 torchstat库结果为:原创 2021-05-14 15:39:21 · 669 阅读 · 0 评论 -
pytorch cifar10可视化的问题
我可视化的图,出现这种问题是因为,我把dataloader里面拿出来的直接可视化了train_dataset = torchvision.datasets.CIFAR10(root='data/', train=True, transform=transforms.Compose( ..原创 2021-04-29 09:15:48 · 377 阅读 · 0 评论 -
matplotlib 可视化图像明明255,结果出来全为黑色的问题
matplotlib在imshow时,如果接收到的是二维矩阵,会自动帮忙归一化,映射到彩色。如果输入的矩阵里面值都是一样的,归一化会把他们全部变为255,也就是呈现黑色。我尝试使用正态分布赋值,或只有一个为0,其它为255,可以正常显示。解决方法,将数组扩充成3通道图后 imshowtemp = np.expand_dims(img_area_list[j][1],axis=2).repeat(3,axis=2)axes[1][j].imshow(temp)...原创 2021-04-27 20:29:34 · 3297 阅读 · 0 评论 -
β分布
β分布Pr(λ)=Γ[α+β]Γ[α]Γ[β]λα−1(1−λ)β−1 Pr(\lambda) = \frac{\Gamma[\alpha+\beta]}{\Gamma[\alpha]\Gamma[\beta]}\lambda^{\alpha-1}(1-\lambda)^{\beta-1}Pr(λ)=Γ[α]Γ[β]Γ[α+β]λα−1(1−λ)β−1α>0,β>0,0<=λ<=1 \alpha > 0, \beta > 0, 0 <= \lambda <原创 2021-04-14 09:58:16 · 729 阅读 · 0 评论 -
使用pytorch和sklearn的PCA分别对mnist做降维
1. pytorch,使用 torch.pca_lowrank 函数A,要处理的数据, q要保留的维度,返回(S,V,D)元组,中间的V为降维后的维度代码import torchimport torchvision.datasets as datafrom torch.utils.data import DataLoaderimport torchvision.transforms as Timport matplotlib.pyplot as pltfrom mpl_tool..原创 2021-03-03 15:45:18 · 8803 阅读 · 3 评论 -
plt 3d曲面图看极值
import numpy as npimport matplotlib.pyplot as pltdef himmelblau(x): # himmelblau 函数实现,传入参数 x 为 2 个元素的 List return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[1] ** 2 - 7) ** 2x = np.arange(-6, 6, 0.1) # 可视化的 x 坐标范围为-6~6y = np.arange(-6, 6, 0.1)原创 2021-02-17 19:53:21 · 815 阅读 · 1 评论 -
pytorch使用tensorboardX做可视化(三)卷积核可视化 + 总结
卷积核可视化意思核feature map可视化是一样的把卷积核的权重变成图像输出来#卷积核可视化def show_kernal(model): # 可视化卷积核 for name, param in model.named_parameters(): if 'conv' in name and 'weight' in name: in_channels = param.size()[1] out_channels =原创 2020-11-07 21:37:50 · 2603 阅读 · 4 评论 -
pytorch使用tensorboardX做可视化(二)特征图可视化
因为要对网络里的layer操作,所以网络层命名发生了一些改变LeNet5.pyimport torch.nn as nnimport numpy as npimport torchfrom collections import OrderedDict#定义lenet5class LeNet5(nn.Module): def __init__(self, num_clases=10): super(LeNet5, self).__init__()原创 2020-11-07 21:28:41 · 1932 阅读 · 5 评论 -
pytorch使用tensorboardX做可视化(一)loss和直方图
一、安装pytorch,安装tensorboardX使用pycharm的seting安装就好二、搭建一个简单的网络这里用LeNet5与tensorboardX相关的语句都标记了出来,主要是传个每轮的loss,参数model自带import torch.nn as nnimport numpy as npimport torch#定义lenet5class LeNet5(nn.Module): def __init__(self, num_clases=10):原创 2020-11-07 20:18:33 · 4011 阅读 · 5 评论 -
matplotlib显示彩色图像的问题,plt.imshow
问题:在使用plt.imshow显示彩色图像的时候,出现了这样的错误:Invalid shape (3, 512, 512) for image data解决:是因为一般神经网络中对图像处理之后的格式是(3,512,512)这种,分别为通道,高,宽。但是plt显示的图像格式为(512,512,3)也就是高,宽,通道。所以会出现错误。使用下面的代码将格式转变过来就可以了: img = np.asarray(img) plt.imshow(img.transpose((1原创 2020-11-01 10:14:23 · 7568 阅读 · 0 评论 -
python模拟假设检验
假设检验一、单个正态总体均值检验工厂原来的产品重量服从正态分布,均值为5,改进技术后,抽取了20件产品质量,检验均值是否没有改变。原假设均值没变,备择假设均值改变import matplotlib.pyplot as pltimport numpy as np#生成改变后的数据x = [i for i in range(1,21)]weight = np.random.randn(1,20)+5weight = weight[0]print(x)print(weight)[1,原创 2020-08-05 17:25:19 · 270 阅读 · 0 评论 -
python模拟区间估计
区间估计import matplotlib.pyplot as pltimport numpy as np#随机生成产品质量,正态分布x_data = [i for i in range(1,11)]x_index = np.arange(5) #柱的索引weight = np.random.randn(1,10)+5print(x_data)weight = weight[0]print(weight)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10][5.049原创 2020-08-04 23:35:10 · 1349 阅读 · 0 评论 -
python可视化中心极限定理
中心极限定理用掷骰子来模拟import matplotlib.pyplot as pltimport numpyimport random#两个骰子的结果 2-12def dic(n): #投n次 result = numpy.zeros((13)) print(result) for i in range(1,n+1): a = random.randint(1,6) b = random.randint(1,6)原创 2020-07-13 09:56:57 · 933 阅读 · 0 评论 -
matplotlib 观察泰勒公式
泰勒公式:通过泰勒公式可以找到一个函数的近似值,以sin为例import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimationfrom scipy.misc import derivative#模拟泰勒公式,使用scipy.misc模块下的derivative方法函数可以求导#另外 python求导见http://liao.cpython.org/scipy1原创 2020-06-16 23:16:32 · 529 阅读 · 0 评论 -
matplotlib animation 模拟弹簧的强迫振动 以及odeint函数的应用
import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimationimport scipy.integrate as si'''模拟弹簧的强迫振动,是个二阶微分方程dx^2/dt^2 + u/m*dx/dt + c/m*x = H/m*sinpt第二项是阻尼,第三项是弹簧恢复力与重力等的合力加速度,右边是铅直干扰力的加速度这里不考虑铅直干扰力'''m = 5 #.原创 2020-06-12 19:46:36 · 1153 阅读 · 3 评论 -
matplotlib模拟重力场中粒子的分布
import numpy as npimport matplotlib.pyplot as pltfrom scipy import constants as constimport random'''分子在重力场中的分布h=0处的分子密度为n0,任一高度h处的分子数密度n = n0 * math.exp(-u*g*h/kT)u是分子重量,T是温度这里把kT用T用一个参数T来表示'''#为便于表示,参数设置与实际不符T = 30u1 = 0.01 #第一种粒子u2 = 0.1 .原创 2020-06-11 22:13:25 · 543 阅读 · 0 评论 -
numpy array轴的理解
最近的学习中,发现可以把轴看成是维度,特地分享给大家,方便理解numpy的数组运算。一、一个一维的array,它只有一个维度即维度02.一个二维的array,定义shape时会用(2,n),2表示行,n表示列。如a = np.arange(8).reshape(2,4)[[0 1 2 3][4 5 6 7]]此时轴0对应(2,4)中的2,轴1对应(2,4)中的4。用一个numpy中的函数来检验这个想法:numpy.swapaxes 函数用于交换数组的两个轴a = np..原创 2020-06-10 21:59:01 · 682 阅读 · 0 评论 -
matplotlib.animation 万有引力
import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimationfrom scipy import constants as const'''万有引力公式F = G*m1*m2/r^2两球质量固定,r可以用横纵坐标计算两球移动的加速度a = F/m移动速度等于 v = v + at分解为x轴,y轴速度'''fig,ax = plt.subplots()d.原创 2020-06-08 16:36:02 · 875 阅读 · 0 评论 -
matplotlib.animation匀速圆周运动
import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimation'''圆周运动方程x = rcoswt y = rsinwtr设置为固定值,半径w设置为固定值2Π,t设置为精度为0.01的小数'''fig, ax = plt.subplots()dot, = plt.plot([],[],'ro')t_data = np.linspace(0,400,.原创 2020-06-07 17:45:36 · 1482 阅读 · 2 评论 -
matplotlib.animation画动图空白的问题
问题:画的图为空白原因是blit = true,改为false即可。修改之后:说明一下该函数各参数的意义:update:update函数接收一个frame参数作为当前帧数,可以根据帧数更新数据,也可以把帧数作为x计算y的值(函数动画)返回更新数据后的plot对象frames:frames为每一帧调用的update函数提供数据,可以是整数、可迭代对象或生产器函数,视具体情况而定,很多人用np.linspace做迭代,其实可以像我这样提前计算好列表,用for循环获取即可。upd.原创 2020-06-07 17:07:14 · 1228 阅读 · 0 评论