tensorflow 에서 Dataset 그림 의 대량 읽 기 및 차원 에 대한 작업
3419 단어 tensorflow
import tensorflow as tf
import glob
import os
def _parse_function(filename):
# print(filename)
image_string = tf.read_file(filename)
image_decoded = tf.image.decode_image(image_string) # (375, 500, 3)
image_resized = tf.image.resize_image_with_crop_or_pad(image_decoded, 200, 200)
return image_resized
with tf.Session() as sess:
print( sess.run( img ).shape )
대량 그림 읽 기 그림 읽 기 (b, w, h, c):
import tensorflow as tf
import glob
import os
'''
Dataset
'''
def _parse_function(filename):
# print(filename)
image_string = tf.read_file(filename)
image_decoded = tf.image.decode_image(image_string) # (375, 500, 3)
image_decoded = tf.expand_dims(image_decoded, axis=0)
image_resized = tf.image.resize_image_with_crop_or_pad(image_decoded, 200, 200)
return image_resized
img = _parse_function('../pascal/VOCdevkit/VOC2012/JPEGImages/2007_000068.jpg')
# image_resized = tf.image.resize_image_with_crop_or_pad( tf.truncated_normal((1,220,300,3))*10, 200, 200)
with tf.Session() as sess:
print( sess.run( img ).shape ) # , , , ,
#InvalidArgumentError (see above for traceback): Input shape axis 0 must equal 4, got shape [5]
Databae 의 동작:
import tensorflow as tf
import glob
import os
'''
Dataset :
:
1. list, Dataset from_tensor_slices()
2. , , list , resize,
tf.read_file(filename) , , ,
resize, batch , get_next() [batch, w, h, c ]
3. shuffle , batch repeat
4. iterator = dataset.make_one_shot_iterator()
5. iterator.get_next() batch
'''
def _parse_function(filename):
# print(filename)
image_string = tf.read_file(filename)
image_decoded = tf.image.decode_image(image_string) #(375, 500, 3)
'''
Tensor` with type `uint8` with shape `[height, width, num_channels]` for
BMP, JPEG, and PNG images and shape `[num_frames, height, width, 3]` for
GIF images.
'''
# image_resized = tf.image.resize_images(label, [200, 200])
''' images ,
images: 4-D Tensor of shape `[batch, height, width, channels]` or
3-D Tensor of shape `[height, width, channels]`.
size: A 1-D int32 Tensor of 2 elements: `new_height, new_width`. The
new size for the images.
'''
image_resized = tf.image.resize_image_with_crop_or_pad(image_decoded, 200, 200)
# return tf.squeeze(mage_resized,axis=0)
return image_resized
filenames = glob.glob( os.path.join('../pascal/VOCdevkit/VOC2012/JPEGImages', "*." + 'jpg') )
dataset = tf.data.Dataset.from_tensor_slices((filenames))
dataset = dataset.map(_parse_function)
dataset = dataset.shuffle(10).batch(2).repeat(10)
iterator = dataset.make_one_shot_iterator()
img = iterator.get_next()
with tf.Session() as sess:
# print( sess.run(img).shape ) #(4, 200, 200, 3)
for _ in range (10):
print( sess.run(img).shape )
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Mediapipe를 사용한 맞춤형 인간 포즈 분류OpenCV의 도움으로 Mediapipe를 사용하여 사용자 지정 포즈 분류 만들기 Yoga Pose Dataset을 사용하여 사용자 정의 인간 포즈 분류를 생성하겠습니다. 1. 리포지토리 복제: 데이터세트 다운로드:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.