def write_record(self, sess=None):
with tf.name_scope('Dataset_Classification_Writer') as scope:
if sess is None:
self.sess = tf.get_default_session()
else:
self.sess = sess
im_pth = tf.placeholder(tf.string)
image_raw = tf.read_file(im_pth)
image_pix = tf.image.convert_image_dtype(tf.image.decode_image(image_raw), tf.float32)
total_images = len(self.shuffled_images)
mean_assign = tf.assign(self.dataset_mean, self.dataset_mean + image_pix/total_images)
print('\t\t Constructing Database')
self.mean_header_proto.Image_headers.image_count = total_images
for index , image_container in enumerate(self.shuffled_images):
printProgressBar(index+1, total_images)
im_rw = self.sess.run([image_raw, mean_assign],feed_dict={im_pth: image_container.image_path})
self.Param_dict[self._Label_handle] = self._int64_feature(image_container.image_data)
self.Param_dict[self._Image_handle] = self._bytes_feature(im_rw[0])
self.Param_dict[self._Image_name] = self._bytes_feature(str.encode(image_container.image_name))
example = tf.train.Example(features=tf.train.Features(feature=self.Param_dict))
self._Writer.write(example.SerializeToString())
#ADD TO MEAN IMAGE
#ENCODE MEAN AND STORE IT
self.dataset_mean = tf.image.convert_image_dtype(self.dataset_mean, tf.uint8)
encoded_mean = tf.image.encode_png(self.dataset_mean)
self.mean_header_proto.mean_data = encoded_mean.eval()
with open(self.dataset_name+'_mean.proto','wb') as mean_proto_file:
mean_proto_file.write(self.mean_header_proto.SerializeToString())
self.sess.run([tf.write_file(self.dataset_name+'_mean.png', encoded_mean.eval())])
self._Writer.close()
#From: https://stackoverflow.com/questions/3173320/text-progress-bar-in-the-console
Dataset_writer_classification.py 文件源码
python
阅读 57
收藏 0
点赞 0
评论 0
评论列表
文章目录