2017-08-22 13 views
0

深い学習を使用してタイピングアシスタントを作成しています。私はすでに次のいくつかの単語を予測するためにロードしようとしている事前に訓練されたモデルを持っています。チェックポイントにキーが見つかりませんTensorflow

コードはサーバー上で動作しますが(モデルが訓練されている場所)、モデルをシステムにロードして予測しようとすると発生します。このエラーが発生しています。

tensorflow /コア/フレームワーク/ op_kernel.cc:1152]が見つかりません:

を次のようにキーのチェックポイントでは見られないdq4st0/multi_rnn_cell/cell_0/basic_lstm_cell /偏見

予測のためのコードがあります

def text_output(args, bucket): 
    gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=args['gpu_mem']) 

    with open(os.path.join(args['save_dir'], str(bucket)+'/config.pkl'), 'rb') as f: 
     saved_args = cPickle.load(f) 
    with open(os.path.join(args['save_dir'], str(bucket)+'/words_vocab.pkl'), 'rb') as f: 
     words, vocab = cPickle.load(f) 
    model = Model(saved_args, bucket, True) 
    sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) 
    tf.global_variables_initializer().run(session =sess) 
    saver = tf.train.Saver(tf.global_variables()) 

    ckpt = tf.train.get_checkpoint_state(args['save_dir']+"/"+str(bucket)) 

    if ckpt and ckpt.model_checkpoint_path: 
     saver.restore(sess, ckpt.model_checkpoint_path) 

    return args,model,words,vocab, sess 
+0

テンソルフローのバージョンは同じですか? 'RNNCell'はかなり頻繁に書き換えられます。 1.1と1.2の間の[この変更](https://github.com/tensorflow/tensorflow/commit/e8482ab23bd0fce5c2941f6a190158bca2610a35)を参照してください。 [チェックポイントに保存された]変数のリストは何ですか(https://stackoverflow.com/questions/38944238/tensorflow-list-variables-in-the-checkpoint)? – Maxim

答えて

0

コード内の変数名がチェックポイントファイルのキーと一致しない可能性があります。

私の提案は、次のように変数名をチェックすることです:

  1. あなたのコード内の変数名を取得:

    var_name_list = [v.name for v in tf.trainable_variables()] 
    
  2. は、チェックポイントファイル内のキーを取得する:

    from tensorflow.python import pywrap_tensorflow 
    
    reader = pywrap_tensorflow.NewCheckpointReader(ckpt_path) 
    var_to_shape_map = reader.get_variable_to_shape_map() 
    

それらを比較して、dq4st0/multi_rnn_cell/cell_0/basic_lstm_cell/biasesがckptファイルに存在するかどうかを確認してください。

関連する問題