将操作从一个图复制到另一个图tensorflow

将操作从一个图复制到另一个图tensorflow,tensorflow,Tensorflow,这是我的代码。 我试图做的是将操作从graph1复制到graph2。 这就是我得到的。 Graph1已经是经过训练的模型,我想重新训练模型,所以在初始化CNN权重和偏差时,出现了这个问题 我试着不构建另一个graph2,这意味着使用graph1作为第一个训练,但需要向Word_embedded_向量(=graph.get_tensor_by_name(embedded/W:0))添加更多单词 如果有任何其他方法通过不使用新图形进行再培训 如果不是,我想解决以下错误消息 回溯(最近一次呼叫最后一

这是我的代码。
我试图做的是将操作从graph1复制到graph2。
这就是我得到的。 Graph1已经是经过训练的模型,我想重新训练模型,所以在初始化CNN权重和偏差时,出现了这个问题

我试着不构建另一个graph2,这意味着使用graph1作为第一个训练,但需要向Word_embedded_向量(=graph.get_tensor_by_name(embedded/W:0))添加更多单词

  • 如果有任何其他方法通过不使用新图形进行再培训
  • 如果不是,我想解决以下错误消息

    回溯(最近一次呼叫最后一次):
    文件“/Users/jj/tensorflow3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1327行,在
    返回fn(*args)
    文件“/Users/jj/tensorflow3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1306行,在
    状态,运行(元数据)
    文件“/usr/local/ceral/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py”,第88行,在退出时__
    下一个(self.gen)
    文件“/Users/jj/tensorflow3/lib/python3.6/site packages/tensorflow/python/framework/errors\u impl.py”,第466行,处于引发异常打开状态
    pywrap_tensorflow.TF_GetCode(状态))
    tensorflow.python.framework.errors\u impl.failedPremissionError:尝试使用未初始化的值嵌入/W
    [[Node:_retval_embedding/W_0_0=_retval[T=DT_FLOAT,index=0,_device=“/job:localhost/replica:0/task:0/cpu:0”](嵌入/W)]]
    在处理上述异常期间,发生了另一个异常:
    回溯(最近一次呼叫最后一次):
    文件“/Users/jj/eclipseworkspace/qna_beta/e01/test.py”,第105行,在
    打印(sess2.run(嵌入式_W2))
    文件“/Users/jj/tensorflow3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第895行,正在运行
    运行_元数据_ptr)
    文件“/Users/jj/tensorflow3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1124行,正在运行
    feed_dict_tensor、options、run_元数据)
    文件“/Users/jj/tensorflow3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1321行,运行
    选项,运行(元数据)
    文件“/Users/jj/tensorflow3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1340行,在
    提升类型(e)(节点定义、操作、消息)
    tensorflow.python.framework.errors\u impl.failedPremissionError:尝试使用未初始化的值嵌入/W
    [[Node:_retval_embedding/W_0_0=_retval[T=DT_FLOAT,index=0,_device=“/job:localhost/replica:0/task:0/cpu:0”](嵌入/W)]]
    
    Tensorflow的版本是1.3.0

    可能与
    import tensorflow as tf  
    import numpy as np  
    import os  
    import data_helpers  
    from tensorflow.contrib import learn
    
    # Parameters
    # ==================================================
    
    # Data Parameters
    tf.flags.DEFINE_string("eval_file", "./text/tokenizedSmallText.txt", "Data source for the positive data.")  
    
    # Eval Parameters
    tf.flags.DEFINE_integer("batch_size", 64, "Batch Size (default: 64)")  
    tf.flags.DEFINE_string("checkpoint_dir", "./runs/ThuOct121628262017/checkpoints", "Checkpoint directory from training run")  
    tf.flags.DEFINE_boolean("eval_train", False, "Evaluate on all training data")  
    
    # Misc Parameters
    tf.flags.DEFINE_boolean("allow_soft_placement", True, "Allow device soft device placement")  
    tf.flags.DEFINE_boolean("log_device_placement", False, "Log placement of ops on devices")  
    
    
    
    FLAGS = tf.flags.FLAGS  
    FLAGS._parse_flags()  
    print("\nParameters:")  
    for attr, value in sorted(FLAGS.__flags.items()):  
        print("{}={}".format(attr.upper(), value))
        print("")`  
    
    x_raw= data_helpers.load_data_and_labels(FLAGS.eval_file)
    
    # Map data into vocabulary
    vocab_path = os.path.join(FLAGS.checkpoint_dir, "..", "vocab")
    vocab_processor = learn.preprocessing.VocabularyProcessor.restore(vocab_path)
    x_test = np.array(list(vocab_processor.transform(x_raw)))
    
    print("\nEvaluating...\n")
    
    # Evaluation
    # ==================================================
    checkpoint_file = tf.train.latest_checkpoint(FLAGS.checkpoint_dir)
    graph1 = tf.Graph()
    graph2 = tf.Graph()
    
    with graph1.as_default():
        session_conf = tf.ConfigProto(
          allow_soft_placement=FLAGS.allow_soft_placement,
          log_device_placement=FLAGS.log_device_placement)
        sess = tf.Session(config=session_conf)
    
    # Load the saved meta graph and restore variables
    saver = tf.train.import_meta_graph("{}.meta".format(checkpoint_file))
    saver.restore(sess, checkpoint_file)
    
    embedded_W = graph1.get_tensor_by_name("embedding/W:0")
    embedded_W2 = tf.contrib.copy_graph.copy_op_to_graph(embedded_W,graph2,[])
    
    
    with graph2.as_default():
        session_conf = tf.ConfigProto( allow_soft_placement=FLAGS.allow_soft_placement, log_device_placement=FLAGS.log_device_placement)
        sess2 = tf.Session(config=session_conf)
        with sess2.as_default():
            tf.global_variables_initializer().run(session=sess2)
            print(embedded_W2)
            print(sess2.run(embedded_W2))
    
    Traceback (most recent call last):
    File "/Users/jj/tensorflow3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1327, in _do_call
    return fn(*args)
    File "/Users/jj/tensorflow3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1306, in _run_fn
    status, run_metadata)
    File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 88, in __exit__
    next(self.gen)
    File "/Users/jj/tensorflow3/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
    tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value embedding/W
     [[Node: _retval_embedding/W_0_0 = _Retval[T=DT_FLOAT, index=0, _device="/job:localhost/replica:0/task:0/cpu:0"](embedding/W)]]
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
    File "/Users/jj/eclipse-workspace/qna_beta/e01/test.py", line 105, in <module>
    print(sess2.run(embedded_W2))
    File "/Users/jj/tensorflow3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 895, in run
    run_metadata_ptr)
    File "/Users/jj/tensorflow3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1124, in _run
    feed_dict_tensor, options, run_metadata)
    File "/Users/jj/tensorflow3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
    options, run_metadata)
    File "/Users/jj/tensorflow3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call
    raise type(e)(node_def, op, message)
    tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value embedding/W
     [[Node: _retval_embedding/W_0_0 = _Retval[T=DT_FLOAT, index=0, _device="/job:localhost/replica:0/task:0/cpu:0"](embedding/W)]]