SyntaxNet on MacOS
继上次配好了 TF 之后,由于需要 NLP,转而使用 Google 自家的模型 SyntaxNet。
简单的配置在官方 git 中都有说明了,这里主要是两个问题的解决。
出现无法下载 gmock 的问题
1 | no such package '@gmock_archive//': Error downloading from https://archive.openswitch.net/gmock-1.7.0.zip |
问题:大概是由于国内墙?或者是 Java 的问题,包没有下下来,或者验证不通过。
解决:那么手动下载它然后指定路径就行了吧。对于 bazel 一窍不通的我,翻了半天的配置,终于根据路径找到了配置下载地址的地方:
PATH
1 | models/syntaxnet/tensorflow/tensorflow/workspace.bzl |
Download gmock 到本地,我这里将它放到了tmp目录中
1 | cd /tmp |
开启 python 的简单 http 服务
1 | python -m SimpleHTTPServer 8000 |
并且修改下载路径为本地
修改 PATH 中的文件,gmock 的路径位于 79 行,将其从
1 | url = "https://archive.openswitch.net/gmock-1.7.0.zip" |
修改为
1 | url = "http://localhost:8000/gmock-1.7.0.zip" |
重新启动编译
1 | bazel test --linkopt=-headerpad_max_install_names syntaxnet/... util/utf8/... |
出现无法找到 python 的问题
1 | ERROR: Cannot find 'external/org_tensorflow/util/python/python_lib'. Did you run configure? |
问题:之前运行 configure 时配置的为 python_include 的路径,这儿找不到是因为 python_lib 的路径错误,默认路径为 /usr/lib/python2.7/site-packages 而我这儿不存在。
解决:参考 github issues #2703 中的方案,修改 configure 文件是一种解决方式,不过这儿修改 python_config.sh 更为恰当。
PATH
models/syntaxnet/tensorflow/util/python/python_config.sh