草庐IT

numpy-random

全部标签

python - 来自 numpy 操作的 numpy.memmap

我正在处理从大图像文件创建的相当大的数组。我遇到了使用过多内存的问题,因此决定尝试使用numpy.memmap数组而不是标准的numpy.array。我能够创建一个memmap并将数据从我的图像文件中分block加载到其中,但我不确定如何将操作结果加载到memmap.例如,我的图像文件被读入numpy作为二进制整数数组。我编写了一个函数,该函数将True单元格的任何区域缓冲(扩展)指定数量的单元格。此函数使用array.astype(bool)将输入数组转换为Boolean。如何使array.astype(bool)创建的新Boolean数组成为numpy.memmap数组?此外,如果

python - 来自 numpy 操作的 numpy.memmap

我正在处理从大图像文件创建的相当大的数组。我遇到了使用过多内存的问题,因此决定尝试使用numpy.memmap数组而不是标准的numpy.array。我能够创建一个memmap并将数据从我的图像文件中分block加载到其中,但我不确定如何将操作结果加载到memmap.例如,我的图像文件被读入numpy作为二进制整数数组。我编写了一个函数,该函数将True单元格的任何区域缓冲(扩展)指定数量的单元格。此函数使用array.astype(bool)将输入数组转换为Boolean。如何使array.astype(bool)创建的新Boolean数组成为numpy.memmap数组?此外,如果

c++ - std::random_shuffle 每次产生相同的结果

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Howtomakesurethatstd::random_shufflealwaysproducesadifferentresult?我有一个数组,我想对其进行洗牌,我使用:answerPositionArray[0]=100;answerPositionArray[1]=400;answerPositionArray[2]=800;std::random_shuffle(answerPositionArray,answerPositionArray+2);但是每次我运行我的程序时,都会出现相同的随机播放,40

c++ - std::random_shuffle 每次产生相同的结果

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Howtomakesurethatstd::random_shufflealwaysproducesadifferentresult?我有一个数组,我想对其进行洗牌,我使用:answerPositionArray[0]=100;answerPositionArray[1]=400;answerPositionArray[2]=800;std::random_shuffle(answerPositionArray,answerPositionArray+2);但是每次我运行我的程序时,都会出现相同的随机播放,40

c++ - Numpy C++ 程序总是给出段错误(很可能滥用语法或类型)

我正在为python程序开发我的第一个C++扩展。我已经尝试调试这段特定的代码几个小时了,但我没有想法。段错误似乎与传递给C++代码的PyArrayObjectold_simplices_array有关。该对象是uint32类型的2dnumpy数组。此代码是直接根据scipy.weave组合而成的。当代码为scipy.weave.inline格式化和使用时,一切正常。这似乎消除了我程序的python部分和算法本身成为可能的罪魁祸首。剩下的只是语法和类型。有没有人看到任何不正确的语法或类型转换代码?staticPyObject*exterior(PyObject*self,PyArray

c++ - Numpy C++ 程序总是给出段错误(很可能滥用语法或类型)

我正在为python程序开发我的第一个C++扩展。我已经尝试调试这段特定的代码几个小时了,但我没有想法。段错误似乎与传递给C++代码的PyArrayObjectold_simplices_array有关。该对象是uint32类型的2dnumpy数组。此代码是直接根据scipy.weave组合而成的。当代码为scipy.weave.inline格式化和使用时,一切正常。这似乎消除了我程序的python部分和算法本身成为可能的罪魁祸首。剩下的只是语法和类型。有没有人看到任何不正确的语法或类型转换代码?staticPyObject*exterior(PyObject*self,PyArray

c++ - 使用 C++11 <random> 高效生成随机数

我试图了解如何使用C++11随机数生成功能。我关心的是性能。假设我们需要生成一系列介于0..k之间的随机整数,但是k每一步都在变化。最好的方法是什么?例子:for(inti=0;idist(0,k);intrandom_number=dist(engine);//dosomethingwithrandomnumber}的分布header提供非常方便。但它们对用户来说是不透明的,所以我无法轻易预测它们的性能。例如,不清楚dist的构造会导致多少(如果有)运行时开销。以上。相反,我可以使用类似的东西std::uniform_real_distributiondist(0.0,1.0);fo

c++ - 使用 C++11 <random> 高效生成随机数

我试图了解如何使用C++11随机数生成功能。我关心的是性能。假设我们需要生成一系列介于0..k之间的随机整数,但是k每一步都在变化。最好的方法是什么?例子:for(inti=0;idist(0,k);intrandom_number=dist(engine);//dosomethingwithrandomnumber}的分布header提供非常方便。但它们对用户来说是不透明的,所以我无法轻易预测它们的性能。例如,不清楚dist的构造会导致多少(如果有)运行时开销。以上。相反,我可以使用类似的东西std::uniform_real_distributiondist(0.0,1.0);fo

c++ - 如何定义自定义浮点类型 numpy dtypes (C-API)

我有一个自定义float据类型,它使用两个64位float模拟128位float(QDlibrary中的双double类dd_real)。从C++我想将一个ndarray导出到python。我已经知道如何为64位float执行此操作,但对于double我不知何故需要指定我自己的自定义dtype。该怎么做?注意:numpy有自己的128位float(np.float128),不幸的是,这映射到C/C++中的longdouble,这只是存储在128位中的80位float(在我所有的平台上).事实上,应该能够以与numpy导出np.float128完全相同的方式执行此操作(我只是不知道这是如

c++ - 如何定义自定义浮点类型 numpy dtypes (C-API)

我有一个自定义float据类型,它使用两个64位float模拟128位float(QDlibrary中的双double类dd_real)。从C++我想将一个ndarray导出到python。我已经知道如何为64位float执行此操作,但对于double我不知何故需要指定我自己的自定义dtype。该怎么做?注意:numpy有自己的128位float(np.float128),不幸的是,这映射到C/C++中的longdouble,这只是存储在128位中的80位float(在我所有的平台上).事实上,应该能够以与numpy导出np.float128完全相同的方式执行此操作(我只是不知道这是如