2016-12-10 97 views
0

我是TFLearn和Tensorflow的新手,我嘗試通過關於任何任務的神經網絡來了解它們。我成功地訓練了一個模型來對推文進行情緒分析。我用model.save(path)保存我的模型。TFLearn在加載訓練過的模型時拋出錯誤

現在,當我運行model.load(path)時,它會引發錯誤。具體而言,從文件中裝載了模型的代碼是這樣的:

def loadModel(model = None, max_size=40, path="model.save"): 
    # Load the saved model from the specified path 
    global VOCABULARY_SIZE 

    if model == None: 
     plh = tf.placeholder(tf.float32, shape = (None, max_size)) # Creates a Placeholder that is used in buildNetwork() to create the input layer. 
     model = buildNetwork(plh, dictionary_size=len(VOCABULARY_SIZE)) 

    # At this point, the model has the same architecture as the trained one. 

    model = model.load(path) 
    return model 

而且我的錯誤是這樣的:

NotFoundError: Tensor name "Embedding_1/W" not found in checkpoint files model.save 
    [[Node: save_11/restore_slice_1 = RestoreSlice[dt=DT_FLOAT, preferred_shard=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save_11/Const_0, save_11/restore_slice_1/tensor_name, save_11/restore_slice_1/shape_and_slice)]] 
Caused by op u'save_11/restore_slice_1', defined at: 
    File "/opt/local/bin/ipython", line 5, in <module> 
    start_ipython() 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/__init__.py", line 119, in start_ipython 
    return launch_new_instance(argv=argv, **kwargs) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/traitlets/config/application.py", line 658, in launch_instance 
    app.start() 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/terminal/ipapp.py", line 348, in start 
    self.shell.mainloop() 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/terminal/interactiveshell.py", line 440, in mainloop 
    self.interact() 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/terminal/interactiveshell.py", line 431, in interact 
    self.run_cell(code, store_history=True) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2717, in run_cell 
    interactivity=interactivity, compiler=compiler, result=result) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2827, in run_ast_nodes 
    if self.run_code(code, result): 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-7-2cfc4af80f36>", line 1, in <module> 
    stm_a.loadModelandVocabulary() 
    File "stm_a.py", line 42, in loadModelandVocabulary 
    model = buildNetwork(plh, dictionary_size=len(vocabulary_object.vocabulary_)) 
    File "stm_a.py", line 98, in buildNetwork 
    return tflearn.DNN(g, checkpoint_path = checkpoint_path) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tflearn/models/dnn.py", line 63, in __init__ 
    best_val_accuracy=best_val_accuracy) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tflearn/helpers/trainer.py", line 142, in __init__ 
    keep_checkpoint_every_n_hours=keep_checkpoint_every_n_hours) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/training/saver.py", line 861, in __init__ 
    restore_sequentially=restore_sequentially) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/training/saver.py", line 519, in build 
    filename_tensor, vars_to_save, restore_sequentially, reshape) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/training/saver.py", line 272, in _AddRestoreOps 
    values = self.restore_op(filename_tensor, vs, preferred_shard) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/training/saver.py", line 187, in restore_op 
    preferred_shard=preferred_shard) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/ops/io_ops.py", line 203, in _restore_slice 
    preferred_shard, name=name) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/ops/gen_io_ops.py", line 359, in _restore_slice 
    preferred_shard=preferred_shard, name=name) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/framework/op_def_library.py", line 703, in apply_op 
    op_def=op_def) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/framework/ops.py", line 2317, in create_op 
    original_op=self._default_original_op, op_def=op_def) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python/tensorflow/python/framework/ops.py", line 1239, in __init__ 
    self._traceback = _extract_stack() 

我看到的東西是錯誤與我的如下輸入層我埋層。我使用這些(默認)該層的參數:trainable=True, restore=True, reuse=False

我對此很陌生,所以我不知道如何正確調試TFLearn和Tensorflow錯誤。

任何幫助表示讚賞!

+0

你能鏈接到你用來加載的代碼和模式的代碼本身嗎? –

+0

當然我推在Github整個事情(與訓練模型):https://github.com/ant0nisk/Sentiment-Analysis-with-Deep-Learning – ant0nisk

+0

您正在使用什麼TensorFlow和Python的版本? –

回答

0

我不確定你的問題是什麼,但model.load()不返回任何東西。下面是從tflearn用法示例:

model = DNN(network) 
model.load('model.tflearn') 
model.predict(X) 

你分配到modelNone