2017-07-11 23 views
0

私は、深い学習コースでTensorflowとPythonを使用する方法を学習するために、MNISTデータセットに取り組んでいます。TensorflowでのMNISTのサイズ変更

私はテンソルフローを使用して22 & 22としてMNISTのサイズを変更したいと思っています。

お手伝いできますか?

+0

at:https://stackoverflow.com/questions/42784809/resize-mnist-data-on-tensorflow – o0omycomputero0o

+2

これまでに何を試みましたか? –

答えて

0

Revanchistの答えは正しいです。しかし、あなたはtf.image.resize_images()にそれを送信する前にmnist配列を再構築するためにmnistデータセット、あなたの最初の必要性のために:

import tensorflow as tf 
import numpy as np 
import cv2 

mnist = tf.contrib.learn.datasets.load_dataset("mnist") 

batch = mnist.train.next_batch(10) 
X_batch = batch[0] 
batch_tensor = tf.reshape(X_batch, [10, 28, 28, 1]) 
resized_images = tf.image.resize_images(batch_tensor, [22,22]) 

上記のコードは、10枚のmnist画像のバッチを取り出して、28x28の画像から22×22 tensorflow画像にそれらの形状を変更します。

画像を表示する場合は、opencvと以下のコードを使用できます。 resized_images.eval()はテンソルフローイメージをnumpy配列に変換します。

with tf.Session() as sess: 
    numpy_imgs = resized_images.eval(session=sess) # mnist images converted to numpy array 
    for i in range(10): 
     cv2.namedWindow('Resized image #%d' % i, cv2.WINDOW_NORMAL) 
     cv2.imshow('Resized image #%d' % i, numpy_imgs[i]) 
     cv2.waitKey(0) 
0
  • あなたはこのラインにcv2.resize(source_image, (22, 22))

    def resize(mnist): 
        train_data = [] 
        for img in mnist.train._images: 
          resized_img = cv2.resize(img, (22, 22)) 
          train_data.append(resized_img) 
        return train_data 
    
    を追加したすべての画像のすべての画像のためのforループ
  • 内部を反復行くためのforループを使用しOpenCVの

  • cv2.resize()機能を使用することができます
関連する問題