草庐IT

多维度

全部标签

python - 将数组广播到不同的形状(添加 "fake"维度)

在python中(使用numpy),我可以将数组广播为不同的形状:>>>importnumpyasnp>>>a=np.array([2,3,4])>>>b=np.zeros((3,2))>>>b[:,:]=np.zeros((3,2))>>>b[:,:]=a[:,np.newaxis]#>>barray([[2.,2.],[3.,3.],[4.,4.]])>>>c=np.zeros((2,3))>>>c[:,:]=a[np.newaxis,:]>>>carray([[2.,3.,4.],[2.,3.,4.]])有什么方法可以在fortran中达到同样的效果吗?我有一个子例程,它期望传入

python - 计算python中多维数组中数组的出现次数

我有以下类型的数组:a=array([[1,1,1],[1,1,1],[1,1,1],[2,2,2],[2,2,2],[2,2,2],[3,3,0],[3,3,0],[3,3,0]])我想统计每种类型的数组出现的次数,例如[1,1,1]:3,[2,2,2]:3,and[3,3,0]:3我如何在python中实现这一点?是否可以不使用for循环并计入字典?它必须很快,并且应该少于0.1秒左右。我查看了Counter、numpybincount等。但是,这些是针对单个元素的,而不是针对数组的。谢谢。 最佳答案 如果你不介意映射到元组只是

python - 向 xarray DataArray 添加维度

我需要向DataArray添加一个维度,填充新维度中的值。这是原始数组。a_size=10a_coords=np.linspace(0,1,a_size)b_size=5b_coords=np.linspace(0,1,b_size)#original1-dimensionalarrayx=xr.DataArray(np.random.random(a_size),coords=[('a',acoords)])我想我可以创建一个具有新维度的空DataArray并将现有数据复制进去。y=xr.DataArray(np.empty((b_size,a_size),coords=([('b'

python - 沿 numpy 数组中的维度进行回归

我有一个4维numpy数组(x,y,z,time)并且想在每个x,y,z处通过时间维度做一个numpy.polyfit协调。例如:importnumpyasnpn=10#sizeofmyx,y,zdimensionsdegree=2#degreeofmypolyfittime_len=5#numberoftimesamples#MakesomedataA=np.random.rand(n*n*n*time_len).reshape(n,n,n,time_len)#AnxvectortoregressthroughevenlyspacedsamplesX=np.arange(time_l

python:在给定维度索引的情况下提取多维数组的一片

我知道如何取x[:,:,:,:,j,:](它取4维的第j个切片)。如果尺寸在运行时已知,并且不是已知常量,是否有办法做同样的事情? 最佳答案 这样做的一个选择是以编程方式构建切片:slicing=(slice(None),)*4+(j,)+(slice(None),)另一种方法是使用numpy.take()或ndarray.take():>>>a=numpy.array([[1,2],[3,4]])>>>a.take((1,),axis=0)array([[3,4]])>>>a.take((1,),axis=1)array([[2]

python - 创建多维零点 Python

我需要制作一个由零组成的多维数组。对于两个(D=2)或三个(D=3)维度,这很简单,我会使用:a=numpy.zeros(shape=(n,n))或a=numpy.zeros(shape=(n,n,n))对于更高的D,如何制作长度为n的数组? 最佳答案 您可以将元组(n,)乘以您想要的维数。例如:>>>importnumpyasnp>>>N=2>>>np.zeros((N,)*1)array([0.,0.])>>>np.zeros((N,)*2)array([[0.,0.],[0.,0.]])>>>np.zeros((N,)*3)a

GAN!生成对抗网络GAN全维度介绍与实战

本文为生成对抗网络GAN的研究者和实践者提供全面、深入和实用的指导。通过本文的理论解释和实际操作指南,读者能够掌握GAN的核心概念,理解其工作原理,学会设计和训练自己的GAN模型,并能够对结果进行有效的分析和评估。作者TechLead,拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人一、引言1.1生成对抗网络简介生成对抗网络(GAN)是深度学习的一种创新架构,由IanGoodfellow等人于2014年首次提出。其基本思想是通过两个神经网络,即生成器(Generator)和判

python - Cython:将单个元素分配给多维内存 View 切片

每当我将单个值分配给多维内存View的切片时,Cython似乎使用了错误的步幅,除非切片沿着第一维。我在下面给出一个完整的例子:#bug.pyimportnumpyasnpdefbug():#cdefint[:,::1]aa=2*np.ones((2,2),dtype=np.intc)a[:,:1]=1print(np.asarray(a))如果我们在Python中运行它(例如python3-c'importbug;bug.bug()'),我们得到[[12][12]]如预期的那样打印出来。我现在通过将文件重命名为bug.pyx用Cython编译它,将以下内容保存在同一目录的Makefi

python - 计算任意维度数组的外积

我有两个数组A,B并且想在它们的最后一个维度上取外积,例如结果[:,i,j]=A[:,i]*B[:,j]当A,B是二维的。如果我不知道它们是2维还是3维,我该怎么做?在我的具体问题中,A,B是一个更大的3维数组Z的切片,有时这可能会用整数索引A=Z[:,1,:],B=Z[:,2,:]和其他时间调用带有切片A=Z[:,1:3,:],B=Z[:,4:6,:]。由于scipy“挤压”单例维度,我不知道我的输入是什么维度会的。我试图定义的数组外积应该满足array_outer_product(Y[a,b,:],Z[i,j,:])==scipy.outer(Y[a,b,:],Z[i,j,:])a

python - 如何在python中绘制多维数据点

先介绍一些背景:我想绘制各种歌曲的梅尔频率倒谱系数图并进行比较。我计算了整首歌曲的MFCC,然后对它们进行平均以获得一个包含13个系数的数组。我希望它代表我绘制的图表上的一个点。我是Python的新手,对任何形式的绘图都很陌生(尽管我看到了一些使用matplotlib的建议)。我希望能够可视化这些数据。关于我如何去做这件事有什么想法吗? 最佳答案 首先,如果您想将13个系数的数组表示为图形中的一个点,那么您需要将13个系数分解为图形中的维数,正如yankingyin在他的评论中指出的那样。要将数据投影到2个维度,您可以自己创建相关指