اذهب إلى المحتوى

السؤال

Recommended Posts

  • 2
نشر (معدل)

سأقوم بإنشاء قالب للقيام بذلك:

import numpy as np
import tensorflow.train.string_input_producer as qu
import tensorflow.train.start_queue_runners as sqr
import tensorflow as tf
# قائمة بالملفات التي سنقرأها
queue = qu(['tf.png'])
# قراءة الملفات
_, v = tf.WholeFileReader().read(queue)
#حسب نوع الصور التي لديك decode_jpeg  أو decode_png  استخدم 
image = tf.image.decode_png(v)
initialize = tf.initialize_all_variables()
with tf.Session() as sess:
  sess.run(initialize)
# ملء قائمة انتظار اسم الملف
c = tf.train.Coordinator()
threads = sqr(coord=c)
for i in range(1):  # طول القائمة التي لدينا
  image = image.eval() # الصورة ك تنسر
# طباعة أبعادها
image.shape
# عرضها
Image.show(Image.fromarray(np.asarray(image)))
coord.request_stop()
coord.join(threads)

الكود السابق يقوم فقط بتحميل الصورة كتنسر والآن لحفظها ضمن ملف TFRecords:

def _int64_feature(value):
  return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))
def _bytes_feature(value):
  return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))
# مجموعة الصور والتسميات كمدخلات
def convert_to(images, labels, name):
  num_examples = labels.shape[0]
  if images.shape[0] != num_examples:
    raise ValueError("Images size %d does not match label size %d." %
                     (images.shape[0], num_examples))
  rows = images.shape[1]
  cols = images.shape[2]
  depth = images.shape[3]
  filename = os.path.join(FLAGS.directory, name + '.tfrecords')
  print('Writing', filename)
  writer = tf.python_io.TFRecordWriter(filename)
  for index in range(num_examples):
    image_raw = images[index].tostring()
    example = tf.train.Example(features=tf.train.Features(feature={
        'height': _int64_feature(rows),
        'width': _int64_feature(cols),
        'depth': _int64_feature(depth),
        'label': _int64_feature(int(labels[index])),
        'image_raw': _bytes_feature(image_raw)}))
    writer.write(example.SerializeToString())

ثم لقراءتها لاحقاً:

#"train.TFRecord"  لاتنسى إنشاء قائمة انتظار لاسم الملف لمسار ملف
# القيمة المعادة لهذا التابع هو بياناتك بعد قراءتها
#label أي الصورة وال
def read_and_decode(filename_queue):
  reader = tf.TFRecordReader()
  _, serialized_example = reader.read(filename_queue)
  features = tf.parse_single_example(
    serialized_example,
    dense_keys=['image_raw', 'label'],
    # لم يتم تحديد الإعدادات الافتراضية لأن كلا المفتاحين مطلوبان
    dense_types=[tf.string, tf.int64])
  image = tf.decode_raw(features['image_raw'], tf.uint8)
  image = tf.reshape(image, [my_cifar.n_input])
  image.set_shape([my_cifar.n_input])
  # إذا أردت يمكنك هنا أن تقوم بإعادة تعيين أبعاد الصور لديك أو  تطبيق بعض العمليات على الصورة
  # الآن سنقوم بتحويل الصورة لفكتور
  # Convert from [0, 255] -> [-0.5, 0.5] floats.
  image = tf.cast(image, tf.float32)
  image = tf.cast(image, tf.float32) * (1. / 255) - 0.5
  #int32 إلى uint8  التحويل من 
  label = tf.cast(features['label'], tf.int32)
  return image, label
تم التعديل في بواسطة Ali Haidar Ahmad
  • -1
نشر

يمكنك استخدام الكود التالي للتحويل ببساطة:

filename_queue = tf.train.string_input_producer(['/Users/Ahmed/Desktop/test.png']) 

reader = tf.WholeFileReader()
key, value = reader.read(filename_queue)

my_img = tf.image.decode_png(value) # use decode_png or decode_jpeg decoder based on your files.

init_op = tf.initialize_all_variables()
with tf.Session() as sess:
  sess.run(init_op)



coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)

for i in range(1): 
  image = my_img.eval()  

print(image.shape)
Image.show(Image.fromarray(np.asarray(image)))

coord.request_stop()
coord.join(threads)

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...