使用 nnet_ts 模块中的 TimeSeriesNnet() 方法会抛出 NameError
Using the TimeSeriesNnet() method from the nnet_ts module throws NameError
我正在尝试使用 python 模块 nnet-ts 创建一个神经网络。
它有一个名为 TimeSeriesNnet() 的内置方法,它有两个参数;
hidden_layers 和 activation_functions.
请参阅此模块的文档以及 README.md:
中的示例
https://github.com/hawk31/nnet-ts
我是运行python版本2.7.13
nnet-ts 模块依赖于 5 个特定的包,我在下面列出了它们以及我正在使用的当前版本:
numpy-1.13.0、pandas-0.20.2、scipy-0.19.0、theano-0.9.0 和 keras-2.0.5
按照README中的例子(link上面),我的代码如下:
from nnet_ts import *
neural_net = TimeSeriesNnet(hidden_layers = [7, 3], activation_functions = ['tanh', 'tanh'])
执行此代码会导致抛出 NameError。输出:
NameError: name 'TimeSeriesNnet' is not defined
我猜这个错误的原因可能与不同的模块版本有关,因为代码与 README 中给出的示例几乎相同。非常感谢任何帮助。
肯定是你部署的代码有问题。对于您的 Python 开发,我建议始终使用本地 virtual environment。对于这个神经网络时间序列,您可以使用 python setup.py build
命令在本地构建它,它将在 build/lib.linux-x86_64-2.7
目录中构建必要的文件。假设您拥有所有依赖项,应该没有任何问题。在部署中,您只需将 PYTHONPATH
设置到此目录,或者您只需使用 sys.path.insert()
方法在 运行 时间包含此路径。
例如,假设我在 nnet-ts
目录中,我已经构建了 运行 nnet-ts 如下:
$ python setup.py build
$ python
> import sys
> sys.path.insert(0, 'build/lib.linux-x86_64-2.7')
> from nnet_ts import *
> time_series = np.array(pd.read_csv("nnet_ts/AirPassengers.csv")["x"])
> neural_net = TimeSeriesNnet(hidden_layers = [20, 15, 5], activation_functions = ['sigmoid', 'sigmoid', 'sigmoid'])
转到安装nnet-ts
的路径,例如"C:\Users\a\anaconda3\Lib\site-packages\nnet_ts"
在编辑器中打开 __init__
python 文件并将行从
from TimeSeriesNnet import TimeSeriesNnet
到 from .TimeSeriesNnet import TimeSeriesNnet
.
在 TimeSeriesNnet
之前添加点对我的情况有效。
我正在尝试使用 python 模块 nnet-ts 创建一个神经网络。 它有一个名为 TimeSeriesNnet() 的内置方法,它有两个参数; hidden_layers 和 activation_functions.
请参阅此模块的文档以及 README.md:
中的示例https://github.com/hawk31/nnet-ts
我是运行python版本2.7.13
nnet-ts 模块依赖于 5 个特定的包,我在下面列出了它们以及我正在使用的当前版本:
numpy-1.13.0、pandas-0.20.2、scipy-0.19.0、theano-0.9.0 和 keras-2.0.5
按照README中的例子(link上面),我的代码如下:
from nnet_ts import *
neural_net = TimeSeriesNnet(hidden_layers = [7, 3], activation_functions = ['tanh', 'tanh'])
执行此代码会导致抛出 NameError。输出:
NameError: name 'TimeSeriesNnet' is not defined
我猜这个错误的原因可能与不同的模块版本有关,因为代码与 README 中给出的示例几乎相同。非常感谢任何帮助。
肯定是你部署的代码有问题。对于您的 Python 开发,我建议始终使用本地 virtual environment。对于这个神经网络时间序列,您可以使用 python setup.py build
命令在本地构建它,它将在 build/lib.linux-x86_64-2.7
目录中构建必要的文件。假设您拥有所有依赖项,应该没有任何问题。在部署中,您只需将 PYTHONPATH
设置到此目录,或者您只需使用 sys.path.insert()
方法在 运行 时间包含此路径。
例如,假设我在 nnet-ts
目录中,我已经构建了 运行 nnet-ts 如下:
$ python setup.py build
$ python
> import sys
> sys.path.insert(0, 'build/lib.linux-x86_64-2.7')
> from nnet_ts import *
> time_series = np.array(pd.read_csv("nnet_ts/AirPassengers.csv")["x"])
> neural_net = TimeSeriesNnet(hidden_layers = [20, 15, 5], activation_functions = ['sigmoid', 'sigmoid', 'sigmoid'])
转到安装nnet-ts
的路径,例如"C:\Users\a\anaconda3\Lib\site-packages\nnet_ts"
在编辑器中打开 __init__
python 文件并将行从
from TimeSeriesNnet import TimeSeriesNnet
到 from .TimeSeriesNnet import TimeSeriesNnet
.
在 TimeSeriesNnet
之前添加点对我的情况有效。