我想在多个CPU上训练,所以我运行这个命令
C:\ Users \ solution \ Desktop \ Tensorflow \ research> python object_detection / train.py --logtostderr --pipeline_config_path = C:\ Users \ solution \ Desktop \ Tensorflow \ myFolder \ power_drink.config --train_dir = C:\ Users \ solution \ Desktop \ Tensorflow \ research \ object_detection \ train --num_clones = 2 --clone_on_cpu = True
我得到以下错误
Traceback(最近一次调用最后一次):文件“object_detection / train.py”,第169行,在tf.app.run()文件“C:\ Users \ solution \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ tensorflow \ python \ platform \ app.py“,第124行,在运行_sys.exit(main(argv))文件”object_detection / train.py“,第165行,在主worker_job_name中,is_chief,FLAGS.train_dir )文件“C:\ Users \ solution \ Desktop \ Tensorflow \ research \ object_detection \ trainer.py”,第246行,in train clones = model_deploy.create_clones(deploy_config,model_fn,[input_queue])文件“C:\ Users \ solution \ Desktop \ Tensorflow \ research \ slim \ deployment \ model_deploy.py“,第193行,在create_clones中输出= model_fn(* args,** kwargs)文件”C:\ Users \ solution \ Desktop \ Tensorflow \ research \ object_detection \ trainer .py“,第158行,在_create_losses中train_config.merge_multiple_label_boxes)ValueError:没有足够的值来解包(预期为7,得到0)
如果我将num_clones设置为1或省略它,它可以正常工作 . 我也尝试设置--ps_tasks = 1这没有帮助
任何意见,将不胜感激
1 回答
我通过稍微更改原始配置中的一个参数来解决此问题:
更改参数
replicas_to_aggregate: 1
,或设置sync_replicas: false
都解决了我的问题,因为我只在一个图形卡上训练并且没有任何副本(就像在TPU上训练时那样) .