2017-12-22 35 views
0

私はテンソルフローを学習しています。テンソルフローチュートリアルのMNist for expert(https://www.tensorflow.org/get_started/mnist/pros)を完了した後、私は推論を実行するために訓練されたモデルを使用しようとしています。私は2枚の[28x28]画像をコピーし、それらを[28x28x2]配列に入れて、matlabファイルを保存しました。それから私は推論を実行するには、次のコードを使用:テンソルフローの推論のためのMNISTモード

data = sio.loadmat("data/test/testdig.mat") 
data = tf.reshape(data["testdig"], [-1, 28, 28, 1]) 

x = tf.placeholder(tf.float32, shape=[None, 28, 28, 1]); 

W_conv1 = weight_variable([5, 5, 1, 32]) 
b_conv1 = bias_variable([32]) 
h_conv1 = tf.nn.relu(conv2d(x, W_conv1) + b_conv1) 
h_pool1 = max_pool_2x2(h_conv1) 

....CNN network stuff 

y_conv = tf.matmul(h_fc1_drop, W_fc2) + b_fc2 

prediction = tf.argmax(y_conv, 1) 

saver = tf.train.Saver() 
with tf.Session() as sess: 
    saver.restore(sess, "model/mnist.ckpt") //restored the saved model 
    print(prediction.eval(feed_dict={x: data, keep_prob: 1.0})) 

しかし、上記のコードは私の最後の行でエラーました:

昇給はTypeErrorを( 'フィードの値はtf.Tensorすることはできませんオブジェクトの はTypeError:フィードの値はtf.Tensorオブジェクトことはできません許容フィード値はPythonのスカラー、文字列、リスト、numpyのndarrays、またはTensorHandlesが含ま

なぜ、あなたのコードで

答えて

1

。。?:

data = tf.reshape(data["testdig"], [-1, 28, 28, 1]) 

これは、データが後で計算されるテンソルであることを意味します。値を知らないので、これを入力として使用することはできません。

あなたは、それがモデルに起こるようにx(あなたのプレースホルダ)にリシェイプを適用する必要があり

またはtensorflowがexpectesものと一致したデータを再構築するためにnumpyの操作を使用しますか。