小编Uri*_*hen的帖子

python中的DFT矩阵

在python中获取二维DFT的DFT矩阵的最简单方法是什么?我在numpy.fft找不到这样的功能.谢谢!

python numpy fft scipy dft

15
推荐指数
3
解决办法
1万
查看次数

利用python科学代码收集高度并行计算机的强大功能

使用Python编写科学代码时遇到以下问题:

  • 通常,您会迭代地编写代码,作为执行某些计算的脚本.
  • 最后,它有效; 现在您希望使用多个输入和参数运行它,并发现它需要花费太多时间.
  • 回想一下,你为一个优秀的学术机构工作,可以使用大约100台CPU机器,你很困惑如何获得这种能力.首先准备小shell脚本,使用不同的输入运行原始代码并手动运行它们.

作为一名工程师,我知道所有关于正确的架构(工作项排队,工作线程或进程,工作结果排队并写入持久存储); 但我不想自己实施.最棘手的问题是由于代码更改或临时系统问题(例如内存不足)而需要重新运行.

我想找到一些框架,我将提供所需的输入(例如,每个运行一行文件)然后我将能够启动一些框架提供的代理的多个实例,它将运行我的代码.如果运行时出现问题(例如临时系统问题或由于bug导致的抛出异常),我将能够删除结果并运行更多代理.如果我占用太多资源,我将能够在不担心数据不一致的情况下杀死一些代理,而其他代理会在找到时间时获取工作项.

现有解决方案吗?有人希望分享他的代码吗?谢谢!

python parallel-processing concurrency scientific-computing multiprocessing

7
推荐指数
2
解决办法
684
查看次数

Python:即时重命名方法名称

我有许多文件使用以下语法的类:

o = module.CreateObject()
a = o.get_Field
Run Code Online (Sandbox Code Playgroud)

现在实现已从“ get_XXX”和“ set_XXX”更改为“ XXX”:

o = module.CreateObject()
a = o.Field
Run Code Online (Sandbox Code Playgroud)

此实现是一个外部程序包,我不想更改。是否可以编写一个包装程序,该包装程序将即时拦截所有对“ get_XXX”的调用,然后替换为对新名称“ XXX”的调用?

o = MyRenamer(module.CreateObject())
a = o.get_Field   # works as before, o.Field is called
a = o.DoIt()      # works as before, o.DoIt is called
Run Code Online (Sandbox Code Playgroud)

它需要拦截所有调用,而不仅仅是拦截有限的字段,根据方法名称决定是否修改它,并导致调用具有修改名称的方法。

python dynamic decorator

6
推荐指数
1
解决办法
4341
查看次数

配置 git-lfs 以跟踪超过一定大小的文件

我有一个安装了 git-lfs 的 git 存储库,我希望在 LFS 中包含大于某个大小的所有 PDF 文件,但不是所有 PDF 文件,因为 git-lfs 支持。这样做的原因是我有许多矢量格式的小型 PDF 图形文件,它们可以在常规版本控制中使用,还有一些大型 PDF。

可以这样配置 git-lfs 吗?

我使用来自 Atlassian source-tree 的 git 并在 bitbucket 中托管存储库,也许那些支持这个更高级的用例?

git bitbucket atlassian-sourcetree git-lfs

6
推荐指数
1
解决办法
2386
查看次数

使用cygwin,dlltool构建64位libpython27.a

我正在尝试使用cygwin在64位Win7机器上构建一个python扩展DLL(因为cygwin只运行32位进程,这实际上是交叉编译).

我自己使用dlltool从python27.dll创建了libpython27.a(例如,在这里解释),但是在链接器阶段构建失败说
skipping incompatible c:\Python27\libs/libpython27.a when searching for -lpython27
这正是这里报告的错误(那里的人最终转向MSVC编译器.. ).

更多信息:
- Active Python 2.7.2,win64,x64
- 最新版本的cygwin,使用/usr/bin/x86_64-w64-mingw32-g++.exe编译器

有谁知道这是否支持?
有没有办法使用我想念的dlltool?

(我确实在这里找到了使用的指导,
dlltool --as-flags=--64 -m i386:x86-64 -k -l libpython27.a -d python.def
但是当这样做时我"invalid bfd target"从dlltool 得到错误)

谢谢!

更新:我相信它可以完成,因为Enthought python包含这样的文件.我想为不包含它的更常见的发行版创建一个.

python cygwin win64 mingw cross-compiling

5
推荐指数
1
解决办法
4093
查看次数

Setuptools / distutils:在Windows上将文件安装到发行版的DLLs目录中

我正在写一个setup.py,它使用setuptools / distutils安装我编写的python包。它需要将两个DLL文件(实际上是DLL文件和PYD文件)安装到可供python加载的位置。以为这是DLLs我的python发行版(例如c:\Python27\DLLs)上安装目录下的目录。

我已经使用data_files选项安装这些文件,并且在使用pip时可以正常工作:

data_files=[(sys.prefix + "/DLLs", ["Win32/file1.pyd", "Win32/file2.dll"])]
Run Code Online (Sandbox Code Playgroud)

但是使用easy_install会出现以下错误:

error: Setup script exited with error: SandboxViolation: open('G:\\Python27\\DLLs\\file1.pyd', 'wb') {}
The package setup script has attempted to modify files on your system that are not within the EasyInstall build area, and has been aborted.
Run Code Online (Sandbox Code Playgroud)

那么,安装这些文件的正确方法是什么?

python distutils pip setuptools easy-install

5
推荐指数
1
解决办法
2109
查看次数

Python 的 setup.py:如何为不同平台安装不同的文件

我正在编写一个跨平台的包,它需要为不同的平台(例如 Linux/MAC OS/Windows 甚至 32 位/64 位 Windows)包含不同的二进制文件

我需要我的包的 setup.py 来安装基于平台的不同二进制数据文件。问题是我需要将所有平台的数据文件都包含在包中,它们可能具有相同的名称但内容不同。

有人可以建议如何使用 distutils / setuptools setup.py 吗?

python distutils cross-platform setuptools setup.py

5
推荐指数
1
解决办法
1816
查看次数

Sympy:生成包含多个子图的图

我正在使用sympy和matplotlib,并希望生成一个包含多个图的图形,类似于使用numpy时使​​用pylab.subplot完成的图形.这应该是微不足道的,或者我认为......

令我惊讶的是,我没有找到一种简单的方法.(a)在多个点评估一个SymPy表达式,得到一个我可以用于matplotlib的numpy数组,或者(b)在sympy.plotting中使用类似于pylab.subplot的机制.

示例代码:

import sympy.plotting.plot as symplot
import sympy as sym
x = sym.Symbol('x')
# This opens two different figures...
symplot(x*x, (x, -10, 10))
symplot(x, (x, -10, 10))
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python numpy matplotlib sympy

4
推荐指数
1
解决办法
2629
查看次数

通过多个向量快速乘法多个矩阵

在matlab中,我想使用L矩阵乘以M个向量,得到M×L个新向量.具体来说,假设我有一个大小为N x M的矩阵A和一个大小为N x N x L矩阵的矩阵B,我想计算一个大小为N x M x L的矩阵C,其中结果与下面的结果完全相同码:

for m=1:M
    for l=1:L
         C(:,m,l)=B(:,:,l)*A(:,m)
    end
end
Run Code Online (Sandbox Code Playgroud)

但要有效地实现这一点(使用本机代码而不是matlab循环).

performance matlab matrix matrix-multiplication

3
推荐指数
1
解决办法
89
查看次数

现实两足骨架的物理模拟

我希望利用子弹物理或类似的物理引擎来创建一个逼真的骨架模拟人体样的两条腿.也就是说,在两条"腿"的顶部创建一个由圆形质量制成的"身体"模拟,其中每条腿由3个实心连接,通过3个关节连接,每个关节具有一定的自由度和有限的移动范围.每个方向,类似于人体臀部,膝盖和脚踝.

我的目标是一个真实的模型,因此只有当所有关节都正确平衡时它才会"站立",否则它将会下降.

任何有关现有教程或资源的指示,建议或指示都表示赞赏!这看起来像是从头开始做的大量工作......

simulation physics game-physics bulletphysics physics-engine

2
推荐指数
1
解决办法
5156
查看次数

高效版本的matlab在python中的deconv

在python中是否有效地实现了matlab的deconv

# Convolve
z=conv(x, y) 
# Deconvolve
y0=deconv(z, x)
# Hope y~=y0
Run Code Online (Sandbox Code Playgroud)

(令人惊讶的是,谷歌搜索没有带来任何有趣的结果)

python matlab numpy convolution scipy

2
推荐指数
1
解决办法
1287
查看次数