我正在尝试使用TFRecords在tensorflow中创建最佳管道,而当我不得不将功能列表转换为dict时,我遇到了巨大的瓶颈。这消耗了我100%的CPU,并使一切变慢。
是否有一种方法使用列表而不是功能的字典来提供估计器?
我有1035个功能作为tf.float_list存储在features ['features]中。
此代码为bottlneck:
def parse_tf(example):
"Parse TFExample records and perform simple data augmentation."
features = {
'features': tf.FixedLenFeature((1035,), tf.float32),
'vwap': tf.FixedLenFeature((1,), tf.float32),
'labels': tf.FixedLenFeature((2,), tf.float32),
}
parsed_features = tf.parse_single_example(example, features)
feats = parsed_features['features']
my_features = {}
# BOTTLENECK BELOW, CREATION OF DICT IS SLOWWWW !
for idx, names in enumerate(COLUMNS):
my_features[names] = feats[idx]
labels = parsed_features['labels']
return my_features, labels
我正在使用num_of_parralel调用设置为8(cpu上的线程数),但是它仍然非常慢。
是否可以直接喂float_?