小编Chr*_*oph的帖子

如何检查代码是否在IPython笔记本中执行?

我有一些Python代码示例我想分享,如果在终端Python/IPython或IPython笔记本中执行,应该做一些不同的事情.

如何从我的Python代码中检查它是否在IPython笔记本中运行?

python ipython ipython-notebook

66
推荐指数
6
解决办法
2万
查看次数

如何避免 Numpy 类型转换?

是否可以避免或发出 Numpy 类型从 integer 和32 bit float arraysto自动转换的警告64 bit float arrays

我的用例是我正在开发一个大型分析包(20k 行 Python 和 Numpy),目前混合了 float 32 和 64 以及一些 int dtypes,很可能导致次优性能和内存浪费,基本上我想在任何地方都一致地使用 float32 。

我知道在Tensorflow 中结合两个不同dtype 的数组会产生错误 - 正是因为隐式转换为 float64 会导致性能不佳并且对所有计算张量都是“传染性的”,如果隐式完成,很难找到它被引入的位置。

寻找在numpy的一个选项,还是有办法的猴子补丁numpy的,这样它的行为在这方面像Tensorflow,即发出对隐式类型转换错误的操作一样np.addnp.mul等等,甚至更好,发出印有追溯警告,所以执行继续,但我看到它发生的地方。可能的?

python floating-point numpy tensorflow

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

为什么使用pytest-xdist进行Astropy并行测试没有好的加速?

我使用Macbook上的选项(4个真核,固态磁盘)并行运行Astropy测试python setup.py test --parallel N,它使用pytest-xdist并行运行~8000个测试.

N在1到10范围内尝试了不同,但在所有情况下我只能获得大约2的加速,但我希望在3到4范围内获得加速(因为运行测试应该是CPU限制的).

为什么加速比较低,如何获得良好的加速(在一台计算机上使用多个内核)?

更新

我尝试了来自@Iguananaut的ramdisk建议: 加速现在是~2.2与SSD相比~2.0.由于我有四个物理内核,我希望在3到4的范围内.由于某些原因,并行运行测试的开销可能非常大. diskutil erasevolume HFS+ 'ramdisk' hdiutil attach -nomount ram://8388608 mkdir /Volumes/ramdisk/tmp time python setup.py test -a '--basetemp=/Volumes/ramdisk/tmp' --parallel 8

pytest parallel-testing astropy

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

Macports 只卸载一个 Python 版本

我有 Macports 并且由于历史原因安装了多个版本(2.7、3.4、3.5、3.6)。如何卸载python34所有 Python 3.4 软件包?


这是我的主要问题,这里有一些背景信息和我尝试过的事情。

起初我是这样做的:

$ sudo port uninstall python34
Password:
Note: It is not recommended to uninstall/deactivate a port that has dependents 
as it breaks the dependents.
The following ports will break:
 py34-six @1.10.0_0
 ... more packages here, all the ones starting with py34 that I want to remove ...
Continue? [y/N]: 
Run Code Online (Sandbox Code Playgroud)

然后我尝试了这个,令我大吃一惊/恐惧的是,它开始从 Python 2.7、3.5 和 3.6 中卸载 Python 包:

$ sudo port uninstall --follow-dependents python34
Run Code Online (Sandbox Code Playgroud)

port help uninstall我可以看到有一个@version语法和一个--no-exec …

python macports uninstallation

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