Если у вас есть ошибка, содержащая «гфортран», например:
ImportError: (‘/home/Nick/.theano/compiledir_Linux-2.6.35-31-generic-x86_64-with-Ubuntu-10.10-maverick–2.6.6/tmpIhWJaI/0c99c52c82f7ddc775109a06ca04b360.so: undefined symbol: _gfortran_st_write_done’
Привет, я следую данным шагам. Проблема, вероятно, в том, что NumPy связан с другим бластом, чем тот, который доступен в настоящее время (вероятно, ATLAS). Существует 2 возможных исправления:
Uninstall ATLAS and install OpenBLAS.
Use the Theano flag “blas.ldflags=-lblas -lgfortran”
1) лучше, поскольку OpenBLAS быстрее, чем ATLAS, и NumPy, вероятно, уже связан с ним. Таким образом, вам не понадобятся какие-либо другие изменения в файлах Theano или конфигурации Theano.
Но я не знаю, как удалить этот пакет ATLAS. Я пытался
sudo apt-get remove libatlas
, но это не сработало. Можете ли вы сказать мне, как я могу официально удалить их. С уважением
Если Вы хотите удалить пакеты разработки ATLAS, их на самом деле называют libatlas-dev
и libatlas-base-dev
.
Однако не должно быть никакой потребности удалить эти пакеты для использования OpenBLAS: update-alternatives
механизм будет заботиться о вещах для Вас, автоматически присваивая более высокий приоритет версии OpenBLAS libblas, когда Вы установите его, например, только с разработкой ATLAS пакеты установили Вас, должен видеть
$ update-alternatives --get-selections | grep libblas
libblas.so auto /usr/lib/atlas-base/atlas/libblas.so
libblas.so.3 auto /usr/lib/atlas-base/atlas/libblas.so.3
тогда устанавливающие пакеты разработки OpenBLAS с помощью
$ sudo apt-get install libopenblas-dev
и проверяя снова, что необходимо видеть
$ update-alternatives --get-selections | grep libblas
libblas.so auto /usr/lib/openblas-base/libblas.so
libblas.so.3 auto /usr/lib/openblas-base/libblas.so.3
, необходимо быть в состоянии подкачать между ними использующий sudo update-alternatives --config libblas.so
и следующий экранным инструкциям.