从一个月以来,我一直在使用《用R进行深度学习》这本书,它使我得以建立自己的第一个神经网络。 我正在使用Ubuntu。直到两天前,一切都还不错,并且工作正常。但是两天前,我将Ubuntu升级到Ubuntu 18.02。从那时起,我的R代码不再起作用。
我已经重做了书中推荐的内容(以及一个月前有效的内容): $ sudo apt-get更新
$ sudo apt-get upgrade
$ sudo apt-get install python-pip python-dev
$ sudo apt-get install build-essential cmake git unzip pkg-config libopenblas-dev liblapack-dev
我没有错误。
然后在R中
install.packages("keras")
library(keras)
install_keras()
最后一条命令应该使用TensorFlow在Python虚拟环境中安装核心Keras库及其依赖项。
但是我得到了我真正不理解的以下错误:
> install_keras()
Using existing virtualenv at ~/.virtualenvs/r-tensorflow
Upgrading pip ...
Traceback (most recent call last):
File "/home/baragatt/.virtualenvs/r-tensorflow/bin/pip", line 7, in <module>
from pip._internal import main
File "/home/baragatt/.virtualenvs/r-tensorflow/local/lib/python2.7/site-packages/pip/_internal/__init__.py", line 5, in <module>
import logging
File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
import sys, os, time, cStringIO, traceback, warnings, weakref, collections
File "/usr/lib/python2.7/weakref.py", line 14, in <module>
from _weakref import (
ImportError: cannot import name _remove_dead_weakref
Erreur : Error 1 occurred installing TensorFlow
我已经重新安装了R,python,tensorflow,但是我总是遇到相同的错误。我不明白这个错误。也许这是virtualenv的问题?
有人可以帮我吗?真令人沮丧,因为两天前我的代码正在运行,现在无法工作...
我正在使用Ubuntu 18.02,安装的版本是python 2.7.15〜rc1-1,R-3.4.4和tensorflow-1.10.0。
答案 0 :(得分:0)
非常感谢this post。我真的不明白这篇文章中的命令应该解决什么。但是我已经做了以下事情:
cd /home/baragatt/.virtualenvs/r-tensorflow/
然后,按照帖子中的建议:
virtualenv . --system-site-packages
我获得了以下消息:
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/baragatt/.virtualenvs/r-tensorflow/bin/python2
Not overwriting existing python script /home/baragatt/.virtualenvs/r-tensorflow/bin/python (you must use /home/baragatt/.virtualenvs/r-tensorflow/bin/python2)
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/virtualenv.py", line 2375, in <module>
main()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 724, in main
symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 946, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/usr/lib/python3/dist-packages/virtualenv.py", line 1417, in install_python
os.symlink(py_executable_base, full_pth)
OSError: [Errno 17] File exists
我也尝试过:
virtualenv -p /usr/bin/python2.7 .
我得到了:
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /home/baragatt/.virtualenvs/r-tensorflow/bin/python2.7
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/virtualenv.py", line 2375, in <module>
main()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 724, in main
symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 946, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/usr/lib/python3/dist-packages/virtualenv.py", line 1278, in install_python
shutil.copyfile(executable, py_executable)
File "/usr/lib/python2.7/shutil.py", line 97, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 40] Too many levels of symbolic links: '/home/baragatt/.virtualenvs/r-tensorflow/bin/python2.7'
答案 1 :(得分:0)
我通过查看不同的论坛终于找到了解决方案。 我认为问题应该是由于在R中执行以下命令时应创建的虚拟环境。
install_keras()
因此,我通过删除这些环境所在的目录来删除了虚拟环境(我想)。
cd ~/.virtualenvs
rm -r r-tensorflow/
然后我在R中尝试了以下命令
install.packages(“ keras”) 图书馆(keras) install_keras()
它有效!老实说,我仍然不了解Ubuntu更新后发生了什么问题。