繁体   English   中英

运行神经网络 pybrain

[英]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 ,应该这样做。

scipy.linalg.expm2使用的函数scipy.linalg.expm2自v.0.13起已被弃用, 并已在v.1.0.0中删除 (尚未发布):

已弃用的函数expm2expm3已从scipy.linalg删除。

(在“向后不兼容的更改”部分中)

由于PyBrain似乎尚未更新,您需要回退到仍包含此功能的Scipy版本,例如上一版本v.0.19.1。

我有同样的错误。 我不知道它是否仍然相关,但对我来说,当我将expm2更改为expm时,错误消失了。

只是为了让尝试此解决方案的每个人都更轻松:

  1. 安装pybrain库后,在python控制台中,输入pybrain.tools.functions ,如图所示

  2. 在简单引号之间的单词“from”之后是您的 .py 函数文件的文件路径,如图所示文件路径显示在 python 控制台上

  1. 打开它并按CTRL + F在文件的第一行代码中的 import 语句中搜索expm2引用

  2. expm2的 import 语句,将expm2替换为_expm_frechet ,如图所示将expm2替换为_exp_frechet

  1. 现在,再次尝试运行您的代码,jupyter 实验室应该可以与 pybrain 库一起使用

要解决这个问题,你可以这样做:在“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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM