草庐IT

do_calculation

全部标签

python - NumPy 广播 : Calculating sum of squared differences between two arrays

我有以下代码。在Python中它需要永远。必须有一种方法可以将这种计算转化为广播......defeuclidean_square(a,b):squares=np.zeros((a.shape[0],b.shape[0]))foriinrange(squares.shape[0]):forjinrange(squares.shape[1]):diff=a[i,:]-b[j,:]sqr=diff**2.0squares[i,j]=np.sum(sqr)returnsquares 最佳答案 您可以使用np.einsum在计算出broad

python - PyDev 调试 : do not open "_pydev_execfile" at the end

我是Python和Eclipse的新手。我正在使用Eclipse/PyDev调试模块文件。当我在文件的最后一行单击“Stepover”或“Stepreturn”时,Eclipse打开文件“_pydev_execfile”,我必须在调试终止之前再次单击“Stepover”或“Stepreturn”。每个人都会出现这种情况还是只有我会出现这种情况?我可以避免这种情况吗? 最佳答案 一般来说,你可以把#@DontTrace放在定义函数的行的末尾,以在traceback中忽略这些函数。在问题中描述的特定情况下,其工作方式如下:将_pydev

python - sklearn 问题 : Found arrays with inconsistent numbers of samples when doing regression

这个问题之前似乎有人问过,但我似乎无法评论以进一步澄清已接受的答案,而且我无法弄清楚所提供的解决方案。我正在尝试学习如何使用sklearn处理我自己的数据。我基本上只是得到了过去100年中两个不同国家GDP的年度百分比变化。我现在只是想学习使用单个变量。我基本上想做的是使用sklearn来预测国家A的GDP百分比变化将给定国家B的GDP的百分比变化。问题是我收到一条错误消息:ValueError:Foundarrayswithinconsistentnumbersofsamples:[1107]这是我的代码:importsklearn.linear_modelaslmimportnum

python - 什么是 [ :] do?

returnself.var[:]那会返回什么? 最佳答案 Python允许您“切片”各种容器类型;这是获取有序集合的某些子集合的简写符号。例如,如果您有一个列表foo=[1,2,3,4,5]而你想要第二个、第三个和第四个元素,你可以这样做:foo[1:4]如果您在切片中省略其中一个数字,则它默认为列表的开头。比如foo[1:]==[2,3,4,5]foo[:4]==[1,2,3,4]当然,如果您在切片中省略两个数字,您将得到整个列表!但是,您将得到一份list的副本而不是原件;事实上,这是复制列表的标准符号。注意区别:>>>a=[

python - NumPy 的 : calculate the derivative of the softmax function

我正在尝试通过MNIST理解简单的3层神经网络中的反向传播。输入层有weights和bias。标签是MNIST,因此它是一个10类向量。第二层是一个线性变换。第三层是softmax激活函数,以获取概率输出。反向传播计算每一步的导数,并将其称为梯度。Previouslayers将global或previous渐变附加到localgradient。我在计算softmax的localgradient时遇到问题一些在线资源解释了softmax及其导数,甚至给出了softmax本身的代码示例defsoftmax(x):"""Computethesoftmaxofvectorx."""exps=n

python - Caffe 中的预测 - 异常 : Input blob arguments do not match net inputs

我使用Caffe通过非常简单的CNN结构对非图像数据进行分类。我在使用尺寸为nx1x156x12的HDF5数据训练我的网络时没有遇到任何问题。但是,我在对新数据进行分类时遇到了困难。如何在不进行任何预处理的情况下进行简单的前向传播?我的数据已经过规范化并且具有适合Caffe的正确尺寸(它已经用于训练网络)。下面是我的代码和CNN结构。编辑:我已将问题与pycaffe.py中的函数“_Net_forward”隔离开来,发现问题是由于self.input字典为空而出现的。谁能解释这是为什么?该集合应该等于来自新测试数据的集合:ifset(kwargs.keys())!=set(self.i

python - 虚拟类 : doing it right?

我一直在阅读描述类继承、抽象基类甚至Python接口(interface)的文档。但没有什么是我想要的。即,一种构建虚拟类的简单方法。当调用虚拟类时,我希望它根据给定的参数实例化一些更具体的类,并将其交还给调用函数。现在我有了一个将对虚拟类的调用重新路由到底层类的总结方法。思路如下:classShape:def__init__(self,description):ifdescription=="It'sflat":self.underlying_class=Line(description)elifdescription=="It'sspiky":self.underlying_cla

python Pandas : how to calculate derivative/gradient

鉴于我有以下两个向量:In[99]:time_indexOut[99]:[1484942413,1484942712,1484943012,1484943312,1484943612,1484943912,1484944212,1484944511,1484944811,1484945110]In[100]:bytes_inOut[100]:[1293981210388,1293981379944,1293981549960,1293981720866,1293981890968,1293982062261,1293982227492,1293982391244,12939825565

python - NumPy 1.9.0 : ValueError: probabilities do not sum to 1

我有一个很大的代码,它在某一时刻根据从probabilitydensityfunction中获取的概率对数组中的值进行采样。(PDF)。为此,我使用numpy.random.choice在numpy1.8.0之前它工作得很好。这是一个MWE(文件pdf_probs.txt可以下载here):importsimplejsonimportnumpyasnp#Readprobabilitiesfromfile.f=open('pdf_probs.txt','r')probs=simplejson.load(f)f.close()printsum(probs)#问题是,在使用numpy1.9.

Python/wxPython : Doing work continuously in the background

我正在编写一个程序,用于在Python中运行模拟,带有一个wxPython界面。在程序中,您可以创建一个模拟,程序会为您呈现(=计算)它。渲染有时会非常耗时。当用户开始模拟并定义初始状态时,我希望程序在后台连续渲染模拟,而用户可能在程序中做不同的事情。有点像YouTube风格的填充栏:您只能播放模拟到渲染的点。我应该如何运行渲染函数? 最佳答案 我会使用threading.Thread在后台运行代码,并使用wx.CallAfter将更新发布到我的窗口线程以将它们呈现给用户。thread=threading.Thread(target