导入:使用别名时,`import ...` 与 `from ... import ...`

imports: `import ...` vs `from ... import ...` when using aliases

我在浏览 pytorch 文档时注意到一种不同的表达导入的方式,这是我以前从未遇到过的:

import torch.nn as nn

我通常会这样写:

from torch import nn

乍一看,这两种方法在我看来都实现了相同的目标,我说得对吗? 这些方法之间有什么区别吗? 如果没有,是否有建议使用其中一个的最佳实践?

import torch.nn as nn

这有点令人困惑,因为两个名称都以 nn 结尾,所以用一个有点不同的例子 -

import torch.nn as x

这就像在 x 中“分配”torch.nn
IE。 x.footorch.nn.foo.

完全相同
from torch import nn

这里nn是缩写形式。 nn.footorch.nn.foo 相同。

还有另一种导入命名导入的方法:

from torch import nn as x

这将允许您通过调用 x.
来调用 torch.nn 模块 希望现在更清楚了