我是张力流的新手,我在这里遇到了一个恼人的问题.
我正在制作一个程序,用于加载tf.WholeFileReader.read(image_name_queue)从tfrecord文件中获取的图像"原始数据" ,然后对其进行解码tf.image.decode_jpeg(raw_data, channels=3),然后将其传递给一个矢量化它的函数.
主要代码
logging.info('setting up folder')
create_image_data_folder()
save_configs()
logging.info('creating graph')
filename_queue = tf.train.string_input_producer([
configs.TFRECORD_IMAGES_PATH],
num_epochs=1)
image_tensor, name_tensor = read_and_decode(filename_queue)
image_batch_tensor, name_batch_tensor = tf.train.shuffle_batch(
[image_tensor, name_tensor],
configs.BATCH_SIZE,
1000 + 3 * configs.BATCH_SIZE,
min_after_dequeue=1000)
image_embedding_batch_tensor = configs.IMAGE_EMBEDDING_FUNCTION(image_batch_tensor)
init = tf.initialize_all_variables()
init_local = tf.initialize_local_variables()
logging.info('starting session')
with tf.Session().as_default() as sess:
sess.run(init)
sess.run(init_local)
tf.train.start_queue_runners()
logging.info('vectorizing')
data_points = []
for _ in tqdm(xrange(get_n_batches())):
name_batch = sess.run(name_batch_tensor)
image_embedding_batch = sess.run(image_embedding_batch_tensor)
for vector, name in zip(list(image_embedding_batch), name_batch):
data_points.append((vector, name))
logging.info('saving')
save_pkl_file(data_points, …Run Code Online (Sandbox Code Playgroud)