gpt4 book ai didi

python-3.x - 根据另一个模块是否存在为模块使用多个别名

转载 作者:行者123 更新时间:2023-12-04 14:59:21 28 4
gpt4 key购买 nike

我目前正在做一些涉及 cupy 的工作。总的来说,它使我的代码运行得更快,因为它在我的 GPU 上运行所有内容。现在,如果用户没有安装 cupy,但他有 numpy,我想进行必要的调整。目前,我正在导入它们:import numpy as np;将 cupy 导入为 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)?

最佳答案

要为 numpy 导入设置另一个别名,为什么不直接分配它呢?

import numpy as np
cp = np

# then just use it normally,
x = cp.arange(10)

关于python-3.x - 根据另一个模块是否存在为模块使用多个别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67259231/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com