我是python和SyntaxNet的新手,我正在尝试从SyntaxNet Tutorial训练SyntaxNet。
为了训练模型,我根据parser_trainer_test.sh
更新了The Tutorial。然后运行如下:
ubuntu@ubuntu-VirtualBox:~/models/syntaxnet$ syntaxnet/parser_trainer_test.sh
它给了我这个错误:
syntaxnet/parser_trainer_test.sh: line 36: /home/ubuntu/models/syntaxnet/syntaxnet/parser_trainer: No such file or directory
然后我将parser_trainer_test.sh
第35行中的"$BINDIR/parser_trainer" \
更新为"$BINDIR/parser_trainer.py" \
并再次运行。
它给了我这个错误:
File "/home/ubuntu/models/syntaxnet/syntaxnet/parser_trainer.py", line 25,in <module>
from tensorflow.python.platform import tf_logging as logging
ImportError: cannot import name tf_logging
我浏览了syntaxnet/tensorflow/python/platform中的tf_logging.py和所有其他python文件 我认为这就是错误所在。但如果你愿意,我可以发布更多。
import os
import os.path
import time
import tensorflow as tf
from tensorflow.python.platform import tf_logging as logging # this is where error happens
from tensorflow.python.platform import gfile
import logging
import os
import sys
import time
from logging import DEBUG
from logging import ERROR
from logging import FATAL
from logging import INFO
from logging import WARN
有一些我很怀疑的事情(如果它看起来很愚蠢,我不是很有抱负,所以很抱歉)。我在路径tensorflow/tensorflow/core/platform中找到了一个名为logging.h
的文件,它定义了DEBUG,ERROR,FATAL,..
,我很困惑模型的目标是来自python还是这个logging.h
文件的日志包。如果错了,这很可能,请帮我解决这个问题。
答案 0 :(得分:1)
我怀疑问题是你正在尝试直接运行脚本,并且它期望被Bazel调用(以便适当地设置环境,路径等)。请改为尝试以下命令:
$ bazel test //syntaxnet:parser_trainer_test