[英]Running neural network pybrain
我想创建神经网络并为其安装 scipy 和 PyBrain。 在文件上我写:
from pybrain.tools.shortcuts import buildNetwork
net=buildNetwork(4,2,1)
当我运行该文件时,发生了错误
from scipy.linalq import inv,det, svd, logm, expm2
ImportError: cannot import name expm2
你能给点建议吗?
Scipy最新版本不包含scipy.linalg.expm2
。 相反,它有scipy.linalg._expm_frechet
。 因此在Pybrain中打开.py文件(pybrain.tools.functions)
并用from scipy.linalg import inv, det, svd, logm, expm2
替换from scipy.linalg import inv, det, svd, logm, _expm_frechet
它应该解决你的问题。
此错误消息基本上是这样说:
expm2 isn't installed. ie Your scipy version hasn't got expm2 or something went wrong during the installation.
尝试重新安装scipy
,应该这样做。
我有同样的错误。 我不知道它是否仍然相关,但对我来说,当我将expm2更改为expm时,错误消失了。
只是为了让尝试此解决方案的每个人都更轻松:
安装pybrain库后,在python控制台中,输入pybrain.tools.functions ,如图所示
在简单引号之间的单词“from”之后是您的 .py 函数文件的文件路径,如图所示文件路径显示在 python 控制台上
打开它并按CTRL + F在文件的第一行代码中的 import 语句中搜索expm2引用
在expm2的 import 语句中,将expm2替换为_expm_frechet ,如图所示将expm2替换为_exp_frechet
要解决这个问题,你可以这样做:在“C:\Users<user-name>\AppData\Local\Programs\Python\Python310\Lib\site-packages\pybrain\tools”中找到文件“functions.py”
找到这个命令“from scipy.linalg import”,然后把“expm2”改成“expm”,在这个function中也做“def sqrtm(M)”:
“expm2(0.5 * logm(M)”到“expm(0.5 * logm(M)”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.