Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何沿0-dim以固定长度分割预加载的数据,以便与Tensorflow中的QueueRunner一起使用?_Python_Python 3.x_Tensorflow - Fatal编程技术网

Python 如何沿0-dim以固定长度分割预加载的数据,以便与Tensorflow中的QueueRunner一起使用?

Python 如何沿0-dim以固定长度分割预加载的数据,以便与Tensorflow中的QueueRunner一起使用?,python,python-3.x,tensorflow,Python,Python 3.x,Tensorflow,除了从张量而不是文件加载数据这一区别之外,还有什么可以与tf.FixedLengthRecordReader相提并论的吗?我尝试构建一个如下所示的输入管道(我的问题在第4点中描述): 1.在词汇表中加载数据 2.创建新词典 3.使用训练数据点创建张量 4.这里我需要帮助:) 此时,我想使用数据库类似于从tf.FixedLengthRecordReader中使用函数read()读取的文件。在我当前的解决方案中,整个数据集打包在一个批中 class DATABASERecord(object):

除了从张量而不是文件加载数据这一区别之外,还有什么可以与tf.FixedLengthRecordReader相提并论的吗?我尝试构建一个如下所示的输入管道(我的问题在第4点中描述):

1.在词汇表中加载数据 2.创建新词典 3.使用训练数据点创建张量 4.这里我需要帮助:) 此时,我想使用
数据库
类似于从
tf.FixedLengthRecordReader
中使用函数
read()
读取的文件。在我当前的解决方案中,整个数据集打包在一个批中

class DATABASERecord(object):
  pass
result = DATABASERecord()

database = get_pre_load_data()
... ???
result.image = ..
result.label = ..

return result
5.对“结果”执行一些操作 6.创建批处理、队列。。 我不知道它是否相关,但整个系统作为一个多GPU系统运行

编辑: 我还没有这个问题的答案,但我有一个解决这个问题的办法,应该能解决我问题的答案。因此,我没有将数据点保存在张量中,而是将它们保存在二进制文件中,并使用
tf.FixedLengthRecordReader
加载它们。这个答案对我帮助很大:

# Select certain individual data points from the N dictionaries 
# and merge them into a new dictionary or array.
..
dict_new = ...
....
class PRELOADdata(object):
  pass
pre_load_data = PRELOADdata()

# Images
dict_value_img = dict_new[b'images']
array_image = np.asarray(dict_value_img, np.float32)
pre_load_data.images = tf.convert_to_tensor(array_image, np.float32)

#Labels
dict_value_lbl = dict_new[b'labels']
array_label = np.asarray(dict_value_lbl, np.float32)
pre_load_data.labels = tf.convert_to_tensor(array_label, np.float32)
...
retun pre_load_data
class DATABASERecord(object):
  pass
result = DATABASERecord()

database = get_pre_load_data()
... ???
result.image = ..
result.label = ..

return result
data_point = get_result()
label = data_point.label
image = tf.cast(data_point.image, tf.int32)
#... tf.random_crop, tf.image.random_flip_left_right, 
#... tf.image.random_brightness, tf.image.random_contrast,
#... tf.image.per_image_standardization
...
...
image_batch, label_batch = tf.train.batch([image, label],
batch_size=BATCH_SIZE,num_threads=THREADS, capacity=BA_CAPACITY * BATCH_SIZE)
...
batch_queue = tf.contrib.slim.prefetch_queue.prefetch_queue(
[image_batch, label_batch], capacity=QU_CAPACITY)
...
..batch_queue.dequeue()
...
tf.train.start_queue_runners(sess=my_sess)