簡體   English   中英

模塊“scipy.special”在 Python/SciPy 中沒有“expit”成員

[英]Module 'scipy.special' has no 'expit' member in Python / SciPy

我嘗試使用 SciPy 中的 expit(x)。 但我收到此錯誤消息:

模塊“scipy.special”沒有“出口”成員

這是我的代碼:

import numpy
import scipy.special

[...]

def Activation(self, ActivationInput):
    self.ActivationOutput = scipy.special.expit(ActivationInput)
    return self.ActivationOutput

scipy是VScode紅色下划線,當我嘗試我們來說在功能Activation

通過Error importing scipy.special.expit的解決方案並不令人滿意並且不起作用。

我使用 Python 3.7、NumPy 1.14.5 和 SciPy 1.1.0。

其他函數可以工作,但是 scipy.special 中的所有 Ufunc scipy.special收到此錯誤消息。

scipy.special 中的所有scipy.special都是用 C 編寫的,因此 pylint 找不到正確的定義。 您可以通過向 pylint 添加選項--ignored-modules=scipy.special來告訴 pylint 忽略該模塊。

對於 VSCode:

添加--ignored-modules=scipy.special通過選項 GUI 或直接添加到 settings.JSON 文件是可能的,但它會關閉 VSCode 與 pylint 一起使用的默認選項。

要解決此問題,您可以將原始默認選項以及--ignored-modules標志添加到 settings.json 文件中。

  • 鍵入[CTRL]+[Shift]+p打開命令搜索
  • 搜索open settings (JSON) ,這將打開您的設置文件。
  • settings.JSON添加鍵/值對,以便您的文件具有以下內容
{
    // any other options for VSCode

    "python.linting.pylintArgs": [
        "--disable=all",
        "--enable=F,E,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned",
        "--enable=unused-variable,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode",
        "--ignored-modules=scipy.special"
        ],
}

前 3 行是 VSCode 用於 pylint 的默認選項。 第 4 行告訴 pylint 忽略scipy.special模塊,這將關閉錯誤。

看起來這可能是一個像這樣的 Pylint 問題。 您是否嘗試過是否可以執行您的代碼?

作為一種解決方法,您可以嘗試禁用 no-member/E1101 規則:

#pylint: disable=no-member
self.ActivationOutput = scipy.special.expit(ActivationInput)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM