0

我是 python 和 SyntaxNet 的新手,我正在尝试从 SyntaxNet Tutorial训练 SyntaxNet 。为了训练我parser_trainer_test.sh根据教程更新的模型。并按如下方式运行:

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

然后我在 to 的第 35 行更新并"$BINDIR/parser_trainer" \再次运行它。parser_trainer_test.sh"$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

我浏览了 tf_logging.py 和syntaxnet/tensorflow/python/platform中的所有其他 python 文件, 我认为这就是错误所在。但如果你愿意,我可以发布更多。

parser.trainer.py

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

tf_logging.py:

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   

有些事情我很怀疑(我不是专业人士,如果看起来很愚蠢,我很抱歉)。logging.h我在路径tensorflow/tensorflow/core/platform中找到了一个名为的文件,它定义DEBUG,ERROR,FATAL,..了模型的目标是来自 python 的日志记录包还是这个logging.h文件,我对此感到困惑。如果我错了,这很可能,请帮助我解决这个问题。

4

1 回答 1

1

我怀疑问题在于您正在尝试直接运行脚本,并且它期望被 Bazel 调用(以便适当地设置环境、路径等)。请尝试以下命令:

$ bazel test //syntaxnet:parser_trainer_test
于 2016-06-01T21:17:21.263 回答