【发布时间】:2021-07-19 09:21:26
【问题描述】:
我目前正在做一些涉及cupy 的工作。总的来说,它使我的代码运行得更快,因为它在我的 GPU 上运行所有东西。现在,如果用户没有安装cupy,但他确实安装了numpy,我想进行必要的调整。目前,我正在像这样导入它们:import numpy as np; import cupy as cp。我可以检查讨论过的here 来测试cupy 是否没有安装,所以这不是问题。但是我不想在任何地方都放置条件或将cp 更改为np,因为如果确实安装了cupy,那会使事情变得复杂,我想改用它。因此,我测试了以下内容(理论上可以解决我的问题):
import numpy as np
import numpy as cp
a = np.zeros((3, 3))
b = cp.zeros((3, 3))
>>> print(type(a))
<class 'numpy.ndarray'>
>>> print(type(b))
<class 'numpy.ndarray'>
而且它似乎有效。尽管如此,我发现这个discussion(或this one),人们指出导入的多个别名是一个坏主意,但我没有找到任何详细说明为什么会这样。
有人可以详细说明这个主题并说明在处理使用一个模块 (cupy) 时如何解决这个问题,如果没有安装它的别名应该指向另一个 (numpy)?
【问题讨论】:
标签: python-3.x numpy python-import