セッショントレーニングモデルを使用する場合のTensorFlowAPI r1.12エラー:TypeError:フィードの値をtf.Tensorオブジェクトにすることはできません



Tensorflow Api R1 12 Error When Using Session Training Model



エラーコード:

with tf.Session() as sess: sess.run(init_op) for i in range(self.epoch_num): batch_images, batch_labels = mnist.train.next_batch(self.batch_size) batch_images = tf.reshape(tensor=batch_images, shape=[self.batch_size, 28, 28, 1]) batch_images = tf.image.resize_images(images=batch_images,size=(32,32)) print('images shape:{}'.format(batch_images.shape)) print('labels shape:{}'.format(batch_labels.shape)) accuracy = sess.run(train_op, feed_dict={images_holder:batch_images, labels_holder:batch_labels}) print(accuracy)

エラーメッセージ:TypeError:フィードの値tf.Tensorオブジェクトにすることはできません。許容されるフィード値には、Pythonスカラー、文字列、リスト、numpy ndarrays、またはTensorHandlesが含まれます。参考までに、テンソルオブジェクトはTensor( 'resize_images / ResizeBilinear:0'、shape =(100、32、32、1)、dtype = float32)でした。これは、キーTensor( 'x:0'、shape =(100、32、32、1)、dtype = float32)でフィードに渡されました。



エラーメッセージはすでに明らかです。トレーニング操作に供給されるデータをテンソルにすることはできません。スカラー、文字列、リスト、numpy ndarrays、またはTensorHandlesのみが可能です。

解決策:テンソルがトレーニング操作に供給された後に.eval()を追加し、テンソル操作によって計算された結果をトレーニング操作にフィードします。



精度= sess.run(train_op、feed_dict = {images_holder:batch_images.eval()、labels_holder:batch_labels})