我使用的是magpie-Tensorflow上的多标签分类器Word2vec。使用Python2.7进行培训效果良好,但是对于Python3.x,它给出了以下错误。我使用的是Ubuntu16.04.5LTS,奇怪的是,Python3.x代码可以在不同的Ubuntu机器上运行。我已经更新了我的依赖项:word2vec、mappie、tf,不确定可能出了什么问题。在
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
Using TensorFlow backend.
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
Traceback (most recent call last):
File "train_magpie.py", line 1, in <module>
from magpie import Magpie
File "/usr/local/lib/python3.5/dist-packages/magpie/__init__.py", line 1, in <module>
from .main import Magpie
File "/usr/local/lib/python3.5/dist-packages/magpie/main.py", line 12, in <module>
from magpie.base.word2vec import train_word2vec, fit_scaler
File "/usr/local/lib/python3.5/dist-packages/magpie/base/word2vec.py", line 7, in <module>
from gensim.models import Word2Vec
File "/usr/local/lib/python3.5/dist-packages/gensim/__init__.py", line 6, in <module>
from gensim import parsing, matutils, interfaces, corpora, models, similarities, summarization
File "/usr/local/lib/python3.5/dist-packages/gensim/parsing/__init__.py", line 7, in <module>
from .preprocessing import *
File "/usr/local/lib/python3.5/dist-packages/gensim/parsing/preprocessing.py", line 10, in <module>
from gensim import utils
File "/usr/local/lib/python3.5/dist-packages/gensim/utils.py", line 50, in <module>
from smart_open import smart_open
File "/usr/local/lib/python3.5/dist-packages/smart_open/__init__.py", line 1, in <module>
from .smart_open_lib import *
File "/usr/local/lib/python3.5/dist-packages/smart_open/smart_open_lib.py", line 45, in <module>
from boto.compat import BytesIO, urlsplit, six
File "/usr/lib/python3/dist-packages/boto/__init__.py", line 1216, in <module>
boto.plugin.load_plugins(config)
File "/usr/lib/python3/dist-packages/boto/plugin.py", line 92, in load_plugins
for file in glob.glob(os.path.join(directory, '*.py')):
File "/usr/lib/python3.5/posixpath.py", line 89, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/lib/python3.5/genericpath.py", line 143, in _check_arg_types
(funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'
异常来自
boto/plugin.py
。由于某些原因,它获取None
而不是某个目录名的字符串,然后尝试全局化None
下的所有文件,但失败的原因是无法os.path.join
一个glob模式到None
。在那么,它为什么这么做?在
很可能,你的boto插件目录中有一些垃圾。或者,如果不在那里,在你的配置。(如果boto对这种情况有更好的错误处理会很好,但它可能不会经常出现…)
很有可能只要卸载并重新安装boto插件就可以修复它。在
对于以后读到这篇文章的人:
如果异常以以下方式结束(可能不同的行号和版本号除外):
…是同一个虫子。但是,如果重新安装你的boto插件没有帮助,你需要创建一个新的问题。(并包括在插件目录中调用
find
或tree
的结果,以及配置文件的内容,以及所有相关的版本号。)相关问题 更多 >
编程相关推荐