Tensorflow:TypeError:uuu new_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;文件';
我正在尝试运行pet探测器google cloud示例,如图所示:,并在我实际尝试运行培训之前,一直获得大部分方法,直到我运行命令:Tensorflow:TypeError:uuu new_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;文件';,tensorflow,Tensorflow,我正在尝试运行pet探测器google cloud示例,如图所示:,并在我实际尝试运行培训之前,一直获得大部分方法,直到我运行命令: gcloud ml-engine jobs submit training `whoami`_object_detection_`date +%s` \ --runtime-version 1.2 \ --job-dir=gs://test-run-2/train \ --packages dist/object_detection-0.1.tar.g
gcloud ml-engine jobs submit training `whoami`_object_detection_`date +%s` \
--runtime-version 1.2 \
--job-dir=gs://test-run-2/train \
--packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \
--module-name object_detection.train \
--region us-central1 \
--config object_detection/samples/cloud/cloud.yml \
-- \
--train_dir=gs://test-run-2/train \
--pipeline_config_path=gs://test-run-2/data/pipeline.config
这不可避免地会导致错误:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/root/.local/lib/python2.7/site-packages/object_detection/train.py", line 49, in <module>
from object_detection import trainer
File "/root/.local/lib/python2.7/site-packages/object_detection/trainer.py", line 27, in <module>
from object_detection.builders import preprocessor_builder
File "/root/.local/lib/python2.7/site-packages/object_detection/builders/preprocessor_builder.py", line 21, in <module>
from object_detection.protos import preprocessor_pb2
File "/root/.local/lib/python2.7/site-packages/object_detection/protos/preprocessor_pb2.py", line 71, in <module>
options=None, file=DESCRIPTOR),
TypeError: __new__() got an unexpected keyword argument 'file'
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python2.7/runpy.py”,第174行,在运行模块中作为主模块
“\uuuuu main\uuuuuuuuuuuuuuuuuuuuuuuuu”,fname,loader,pkg\u name)
文件“/usr/lib/python2.7/runpy.py”,第72行,在运行代码中
run_globals中的exec代码
文件“/root/.local/lib/python2.7/site packages/object\u detection/train.py”,第49行,在
从对象检测导入培训器
文件“/root/.local/lib/python2.7/site packages/object\u detection/trainer.py”,第27行,在
从object_detection.builders导入预处理器_builder
文件“/root/.local/lib/python2.7/site packages/object\u detection/builders/preprocessor\u builder.py”,第21行,在
从object_detection.protos导入预处理器_pb2
文件“/root/.local/lib/python2.7/site packages/object_detection/protos/preprocessor_pb2.py”,第71行,在
选项=无,文件=描述符),
TypeError:\uuuuuu new\uuuuuuuuuuuuuuuuuuuuuuu()获取了意外的关键字参数“file”
我不确定我到底做错了什么,也不确定错误来自哪里,因为我看不到预处理器\u pb2.py文件的内部。任何帮助都将不胜感激 遇到此问题-可能是由于在1.2上运行作业时使用了更新的tensorflow dist(1.4)。我通过传入一个yaml配置文件来解决它:
trainingInput:
runtimeVersion: "1.4"
pythonVersion: "3.5"
如果您遇到matplot lib导入错误,您需要遵循以下步骤:目前,直到tensorflow models repo修复它。@olive_tree给出了一个很好的答案,最终成为我的问题的是我编译时使用的protobuf版本。确保您的protoc版本与此处描述的正确版本匹配: 这就是我最后不得不运行的(在OSX上)
瞧,问题解决了 我在将tensorflow升级到1.11版后遇到了这个问题,并通过运行以下程序解决了这个问题:
pip安装——升级protobuf
遇到类似问题。我强烈建议使用Ubuntu的人“不要遵循”这一点。卸载或删除protobuf
是一件危险的事情,可能会导致系统崩溃。
brew uninstall protobuf
brew install protobuf@2.6