0

我正在尝试使用我赢得的数据训练模型并且没有初始化检查点,这发生了。我不知道它的真正含义。

[libprotobuf ERROR google/protobuf/wire_format_lite.cc:577] 字符串字段“tensorflow.TensorShapeProto.Dim.name”在解析协议缓冲区时包含无效的 UTF-8 数据。如果您打算发送原始字节,请使用“字节”类型。Traceback(最近一次调用最后):文件“/home/hazel/pycharm/projects/LibRelated/MyGeoNet/geonet_main.py”,第 167 行,在 tf.app.run() 文件“/home/hazel/anaconda3/envs/ tf1.15/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py”,第 40 行,在运行 _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef) 文件“/home/hazel /anaconda3/envs/tf1.15/lib/python3.7/site-packages/absl/app.py”,第 312 行,在运行 _run_main(main, args) 文件“/home/hazel/anaconda3/envs/tf1. 15/lib/python3.7/site-packages/absl/app.py”,第 258 行,在 _run_main 系统中。在里面 graph_def=graph.as_graph_def(add_shapes=True),文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py”,第 3238 行,在 as_graph_def 结果中,_ = self._as_graph_def(from_version, add_shapes) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py”,第 3166 行,在 _as_graph_def graph.ParseFromString(compat.as_bytes(data)) google.protobuf.message.DecodeError: Error parsing message ERROR:tensorflow:================== =============== 从未使用过对象(类型 <class 'tensorflow.python.framework.ops.Tensor'>):<tf.Tensor 'report_uninitialized_variables/boolean_mask/GatherV2:0' shape=(?,) dtype=string> 如果要将其标记为已使用,请调用其“mark_used()”方法。它最初是在这里创建的:文件“/home/hazel/pycharm/projects/LibRelated/MyGeoNet/geonet_main.py”,第 148 行,在 train saver.save(sess, os.path.join(opt.checkpoint_dir, 'model' ), global_step=step) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/util/deprecation.py”,第 324 行,在 new_func 返回 func( *args, **kwargs) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/training/supervisor.py”,第 323 行,在第 324 行,在 new_func 返回 func(*args, **kwargs) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/training/supervisor.py” ,第 323 行,在第 324 行,在 new_func 返回 func(*args, **kwargs) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/training/supervisor.py” ,第 323 行,在在里面 graph_def=graph.as_graph_def(add_shapes=True),文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/training/supervisor.py”,第 416 行,在 _init_ready_op self._ready_for_local_init_op = ready_for_local_init_op 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/util/tf_should_use.py”,第 198 行,包装返回 _add_should_use_warning (fn(*args, **kwargs)) =================================== E0923 10:19: 24.045361 140312382656704 tf_should_use.py:76] ================================== 对象从未使用过(类型 <class 'tensorflow.python.framework.ops.Tensor'>): <tf.Tensor 'report_uninitialized_variables/boolean_mask/GatherV2:0' shape=(?,) dtype=string> 如果要将其标记为已使用,请调用其“mark_used( )“ 方法。它最初是在这里创建的:文件“/home/hazel/pycharm/projects/LibRelated/MyGeoNet/geonet_main.py”,第 148 行,在 train saver.save(sess, os.path.join(opt.checkpoint_dir, 'model' ), global_step=step) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/util/deprecation.py”,第 324 行,在 new_func 返回 func( *args, **kwargs) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/training/supervisor.py”,第 323 行,在7/site-packages/tensorflow_core/python/util/deprecation.py”,第 324 行,在 new_func 返回 func(*args, **kwargs) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3 .7/site-packages/tensorflow_core/python/training/supervisor.py”,第 323 行,在7/site-packages/tensorflow_core/python/util/deprecation.py”,第 324 行,在 new_func 返回 func(*args, **kwargs) 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3 .7/site-packages/tensorflow_core/python/training/supervisor.py”,第 323 行,在init graph_def=graph.as_graph_def(add_shapes=True),文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/training/supervisor.py”,第416行,在 _init_ready_op self._ready_for_local_init_op = ready_for_local_init_op 文件“/home/hazel/anaconda3/envs/tf1.15/lib/python3.7/site-packages/tensorflow_core/python/util/tf_should_use.py”,第 198 行,包装返回_add_should_use_warning(fn(*args, **kwargs)) ================================= 进程结束退出代码 1

部分代码如下。现在我正在考虑删除Supervisor

# Saver
    saver = tf.train.Saver([var for var in tf.model_variables()] + \
                           [global_step],
                           max_to_keep=opt.max_to_keep)
    print('-------I AM HERE AFTER saver!!------------')


    # Session
    sv = tf.train.Supervisor(logdir='logdir',
                             save_summaries_secs=0,
                             saver=None
                             )
    print('-------I AM HERE after sv!!------------')

    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    print('-------I AM HERE after config!!------------')
    with sv.managed_session(config=config) as sess:
        print('Trainable variables: ')
        for var in train_vars:
            print(var.name)
        print("parameter_count =", sess.run(parameter_count))

        if opt.init_ckpt_file != None:
            sess.run(init_assign_op, init_feed_dict)
        start_time = time.time()

        for step in range(1, opt.max_steps):
            fetches = {
                "train": train_op,
                "global_step": global_step,
                "incr_global_step": incr_global_step
            }
            if step % 100 == 0:
                fetches["loss"] = loss
            results = sess.run(fetches)
            if step % 100 == 0:
                time_per_iter = (time.time() - start_time) / 100
                start_time = time.time()
                print('Iteration: [%7d] | Time: %4.4fs/iter | Loss: %.3f' \
                      % (step, time_per_iter, results["loss"]))
            if step % opt.save_ckpt_freq == 0:
                saver.save(sess, os.path.join(opt.checkpoint_dir, 'model'), global_step=step)
4

0 回答 0