1
私は一度に1つのイメージを受け入れるようにTensorFlowを設定しようとしていますが、あらかじめtf.image.per_image_whitening()を実行せずに通常の配列を渡すので間違った結果を得ていると思います。画像キューを使わずにPythonで個々の画像に簡単にこれを行う方法はありますか?ここでper_image_whitening in Python
は、これまでの私のコードです:あなたがイメージキューを回避し、予測を一つずつ実行したい場合は
im = Image.open(request.FILES.values()[0])
im = im.convert('RGB')
im = im.crop((0, 0, cifar10.IMAGE_SIZE, cifar10.IMAGE_SIZE))
(width, height) = im.size
image_array = list(im.getdata())
image_array = np.array(image_array)
image_array = image_array.reshape((1, height, width, 3))
# tf.image.per_image_whitening() should be done here
#mean = numpy.mean(image_array)
#stddev = numpy.std(image_array)
#adjusted_stddev = max(stddev, 1.0/len(image_array.flatten())))
feed_dict = {"shuffle_batch:0": image_array}
# predictions always returns something close to [1, 0]
predictions = sess.run(tf.nn.softmax(logits), feed_dict=feed_dict)
一時的な解決策を見つけましたが、それは本当に遅いです:tf.Sessionとimage_tensor = tf.convert_to_tensor(image_array) \t \t(): \t \t \t image_tensor_whitened = tf.image.per_image_whitening(image_tensor) \t \t \t image_array = image_tensor_whitened.eval() – Rob