Python theano未定义符号:_ZdlPvm错误
Python theano undefined symbol: _ZdlPvm error
我正在尝试执行这段代码:
import matplotlib.pyplot as plt
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
x = np.linspace(-3, 3, 1000).reshape(-1, 1)
def f(x):
return 2 * x + 5
f = np.vectorize(f)
y = f(x)
def baseline_model():
model = Sequential()
model.add(Dense(1, input_dim=1, activation='linear'))
model.compile(loss='mean_squared_error', optimizer='sgd')
return model
model = baseline_model()
model.fit(x, y, nb_epoch=100, verbose = 0)
但是在最后一行它抛出了这个错误:ImportError: /home/puck/.theano/compiledir_Linux-4.4--MANJARO-x86_64-with-glibc2.2.5--3.6.0-64/tmpgk36rmkt/mf0c860ada3decf909d2c7248bdfcff39.so: undefined symbol: _ZdlPvm
Here 是完整的追溯。
这是我第一次接触 keras 和 theano,所以我不知道该怎么做。
关于软件版本的一些信息:
Linux 4.4.52-1-MANJARO
GCC 6.3.1
Anaconda 4.3.0
Python 3.6.0
IPython 5.1.0
Theano 0.8.2
Keras 1.2.2
因为你已经在你的机器上安装了预构建的 theano 包,所以它期望机器中有某些 gcc 和依赖库来进行调用。 github link 中提供的解决方案对您仍然有效,但是因为您没有构建代码,所以该解决方案对您不起作用,因为 theano 仍在访问预安装的库。
以下是您可以尝试的方法:
- 您必须拥有与 theano 不兼容的 gcc 和 g++ 更高版本,因此通过使用 OS 命令卸载它们来删除 gcc 和 g++
- 删除 theano 包
- 将 gcc 和 g++ 安装到 4.9 版本,因为这是大多数命令版本
- 重新安装 theano > $ pip3 install theano --user
我相信这可以帮助你让你的 theano 正常工作。
为了解决问题,我安装了 gcc 4.9.3 并在 ~/.theanorc
中添加了这些行:
[global]
cxx = /usr/bin/g++-4.9.3
我正在尝试执行这段代码:
import matplotlib.pyplot as plt
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
x = np.linspace(-3, 3, 1000).reshape(-1, 1)
def f(x):
return 2 * x + 5
f = np.vectorize(f)
y = f(x)
def baseline_model():
model = Sequential()
model.add(Dense(1, input_dim=1, activation='linear'))
model.compile(loss='mean_squared_error', optimizer='sgd')
return model
model = baseline_model()
model.fit(x, y, nb_epoch=100, verbose = 0)
但是在最后一行它抛出了这个错误:ImportError: /home/puck/.theano/compiledir_Linux-4.4--MANJARO-x86_64-with-glibc2.2.5--3.6.0-64/tmpgk36rmkt/mf0c860ada3decf909d2c7248bdfcff39.so: undefined symbol: _ZdlPvm
Here 是完整的追溯。 这是我第一次接触 keras 和 theano,所以我不知道该怎么做。
关于软件版本的一些信息:
Linux 4.4.52-1-MANJARO
GCC 6.3.1
Anaconda 4.3.0
Python 3.6.0
IPython 5.1.0
Theano 0.8.2
Keras 1.2.2
因为你已经在你的机器上安装了预构建的 theano 包,所以它期望机器中有某些 gcc 和依赖库来进行调用。 github link 中提供的解决方案对您仍然有效,但是因为您没有构建代码,所以该解决方案对您不起作用,因为 theano 仍在访问预安装的库。
以下是您可以尝试的方法:
- 您必须拥有与 theano 不兼容的 gcc 和 g++ 更高版本,因此通过使用 OS 命令卸载它们来删除 gcc 和 g++
- 删除 theano 包
- 将 gcc 和 g++ 安装到 4.9 版本,因为这是大多数命令版本
- 重新安装 theano > $ pip3 install theano --user
我相信这可以帮助你让你的 theano 正常工作。
为了解决问题,我安装了 gcc 4.9.3 并在 ~/.theanorc
中添加了这些行:
[global]
cxx = /usr/bin/g++-4.9.3