Python 如何将数据读入Tensorflow?
我正在尝试将CSV文件中的数据读取到tensorflow 官方文件中的示例代码如下所示:Python 如何将数据读入Tensorflow?,python,mongodb,csv,tensorflow,Python,Mongodb,Csv,Tensorflow,我正在尝试将CSV文件中的数据读取到tensorflow 官方文件中的示例代码如下所示: col1, col2, col3, col4, col5 = tf.decode_csv(value, record_defaults=record_defaults) columns = tf.decode_csv(value, record_defaults=record_defaults) features = tf.pack(columns) do_whatever_you_want_to_p
col1, col2, col3, col4, col5 = tf.decode_csv(value, record_defaults=record_defaults)
columns = tf.decode_csv(value, record_defaults=record_defaults)
features = tf.pack(columns)
do_whatever_you_want_to_play_with_features(features)
要读取文件,我需要事先知道文件中有多少列和行,如果有1000列,我需要定义1000个变量,如col1、col2、col3、col4、col5、…、col1000、
,这看起来不是一种有效的读取数据的方法
我的问题
col1, col2, col3, col4, col5 = tf.decode_csv(value, record_defaults=record_defaults)
columns = tf.decode_csv(value, record_defaults=record_defaults)
features = tf.pack(columns)
do_whatever_you_want_to_play_with_features(features)
TFRecord
,它比csv record读取速度快得多。这是一篇关于这个话题的好博客。或者您可以选择自己实现定制的数据读取器,请参见此处当然,您可以实现直接从mongo读取批处理随机排序训练数据,以馈送到tensorflow。以下是我的方式:
for step in range(self.steps):
pageNum=1;
while(True):
trainArray,trainLabelsArray = loadBatchTrainDataFromMongo(****)
if len(trainArray)==0:
logging.info("train datas consume up!")
break;
logging.info("started to train")
sess.run([model.train_op],
feed_dict={self.input: trainArray,
self.output: np.asarray(trainLabelsArray),
self.keep_prob: params['dropout_rate']})
pageNum=pageNum+1;
您还需要在mongodb中预处理训练数据,例如:为mongodb中的每个训练数据分配一个随机排序值
有没有办法在Tensorflow中读取数据库(比如mongoDB)
< P>尝试一个C++实现的数据流OP,用于TysOracle,允许您连接到MunGdB:< /P>
pip install tfmongodb
GitHub页面上有一个关于如何读取数据的示例。另见