您的位置:首页 > 编程语言 > Go语言

tensorflow 1.5 TypeError: __init__() got an unexpected keyword argument 'dct_method'

2018-03-20 13:48 806 查看
在运行 objection_detection 下的train进行训练的时候报错 如下:

D:\software\Anaconda\envs\py3\python.exe E:/tensorflow-relevant-download/light_dection/object_detection/train.py --logtostderr --pipeline_config_path=../models/model/ssd_mobilenet_v1_pets.config --train_dir=../models/model/train
WARNING:tensorflow:From E:\tensorflow-relevant-download\light_dection\object_detection\trainer.py:228: create_global_step (from tensorflow.contrib.framework.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Please switch to tf.train.create_global_step
Traceback (most recent call last):
File "E:/tensorflow-relevant-download/light_dection/object_detection/train.py", line 155, in <module>
tf.app.run()
File "D:\software\Anaconda\envs\py3\lib\site-packages\tensorflow\python\platform\app.py", line 124, in run
_sys.exit(main(argv))
File "E:/tensorflow-relevant-download/light_dection/object_detection/train.py", line 151, in main
worker_job_name, is_chief, FLAGS.train_dir)
File "E:\tensorflow-relevant-download\light_dection\object_detection\trainer.py", line 235, in train
train_config.prefetch_queue_capacity, data_augmentation_options)
File "E:\tensorflow-relevant-download\light_dection\object_detection\trainer.py", line 59, in create_input_queue
tensor_dict = create_tensor_dict_fn()
File "E:/tensorflow-relevant-download/light_dection/object_detection/train.py", line 108, in get_next
dataset_builder.build(config)).get_next()
File "E:\tensorflow-relevant-download\light_dection\object_detection\builders\dataset_builder.py", line 138, in build
label_map_proto_file=label_map_proto_file)
File "E:\tensorflow-relevant-download\light_dection\object_detection\data_decoders\tf_example_decoder.py", line 110, in __init__
dct_method=dct_method),
TypeError: __init__() got an unexpected keyword argument 'dct_method'

Process finished with exit code 1


stack overflow 提到解决方案 https://stackoverflow.com/questions/48920762/tensorflow-error-typeerror-init-got-an-unexpected-keyword-argument-dct

tensorflow issue也再次提到.https://github.com/tensorflow/models/issues/3421

具体解决方案如下

This error is due to the incompatibility of file tf_example_decoder.py with the Tensorflow installed.

In file models/research/object_detection/data_decoders/tf_example_decoder.py:

line 28:

slim_example_decoder = tf.contrib.slim.tfexample_decoder

line 104:

self.items_to_handlers = {

fields.InputDataFields.image:

slim_example_decoder.Image(

image_key=’image/encoded’,

format_key=’image/format’,

channels=3,

dct_method=dct_method),….

…..

….

..

.

}

slim_example_decoder.Image is tf.contrib.slim.tfexample_decoder.Image

In Tensorflow 1.5 source code tf.contrib.slim.tfexample_decoder.Image doesn’t have dct_method argument. Therefore when dct_method argument is passed it throws an error.

A simple hack would be to not pass this argument. So edit tf_example_decoder.py line 110 to remove dct_method=dct_method. I tried this and it worked and didn’t had any effect on training.

将 dct_method=dct_method 给去掉.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐