我使用Tensorflow编写了一个算法。我的代码结构如下:
从csv读取数据并将其存储在列表列表中,其中每个列表包含来自csv的单行。
使用feed_dict
方法为图表提供单行数据。这是在循环中完成的,直到处理完所有行。
TF图在GPU上执行。我的问题与从CPU到GPU的数据传输有关。使用feed_dict
是否意味着从主机到设备会有很多小的转移?如果是,是否可以使用feed_dict
进行批量转移并在TF图中使用循环?
答案 0 :(得分:2)
是。如果文件大小很小(例如单行文本),则可能会有许多小的主机到设备传输。
以下是将feed_dict与自定义fill_feed_dict函数一起使用的示例:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/fully_connected_feed.py
为了您的使用,使用TensorFlow的QueueRunner处理许多小文件可能更容易。这将创建一个读取器线程池,以预取您的数据并帮助加快TensorFlow图形的数据可用性。
scores[0] <= scores[1]