2017-11-23 26 views
2

ここ数日間、デスクトップからTensorflowに画像を読み込もうとすると、多くの難しさがありました。 APIを見て、online tutorialsを検索しましたが、運がかなり低く、私が読んだことの多くを理解することができませんでした。ちょっと私が理解したことからイメージをインポートする関数を作成しようとする試みは、驚くことではありませんでした。以下は私がこれまで行ってきたことです。デバッガを介して実行した後、私はプログラムが最初の行に固執していることがわかります。 Tensorflow APIによると、ファイルパターンまたは1Dテンソルのファイルパターンを渡す必要があります。私がファイルパターンを与えたファイルパスではありませんか?Tensorflow pythonで複数の画像をインポートする方法

def import_data(): 

    image_path = tf.train.match_filenames_once("C:\Users\ratno\Desktop\honest chaos\*.JPG") 
    filename_queue = tf.train.string_input_producer(image_path) 

    reader = tf.WholeFileReader() 

    _, content = reader.read(filename_queue) 
    image = tf.image.decode_jpeg(content, channels=1) 
    cropped_image = tf.image.resize_image_with_crop_or_pad(image, 3000, 3000) 
    reduced_image = tf.image.resize_images(cropped_image, [100, 100]) 
    modified_image = tf.transpose(tf.reshape(reduced_image, [10000, 1])) 

    return modified_image 

コードは、私のデスクトップ上のフォルダからJPGのみのスルーに取ると、グレースケールのJPGへのRGBのJPGからそれらを変換することになっています。その後、グレースケールのjpgを取り、3000x3000ピクセルサイズにトリミングし、tf.resize_imagesを使用して100x100ピクセルイメージにさらに縮小します。最後に、1x10000型のテンソルの形ですべてを返します。

ありがとうございます。 コードの他の部分についての提案があれば、私は非常に感謝しています。

答えて

0

session.runの一回の呼び出しで複数の画像を読み取るには、単にreader.read()を何度も呼び出します。また、一度呼び出すと、画像のミニセットを取得する処理が完了したら、tf.train.batchを使用することができます。

関連する問題