#-*- coding:utf-8 -*-
import tensorflow as tf
import numpy as np
value1 = tf.placeholder(dtype=tf.float32)
value2 = tf.placeholder(dtype=tf.float32)
value3 = value1 + value2
#定义的dataset有参数,只能使用参数化迭代器
dataset = tf.data.Dataset.range(10)
# 定义参数化迭代器
dataset = dataset.shuffle(100)
dataset = dataset.apply(tf.contrib.data.batch_and_drop_remainder(3)) #每个batch3个数据,不足3个舍弃
iterator = dataset.make_initializable_iterator()
next_element = iterator.get_next()
with tf.Session() as sess:
# 需要用参数初始化迭代器
for i in range(2):
sess.run(iterator.initializer)
while True:
try:
value = sess.run(next_element)
result = sess.run(value3,feed_dict={value1:value,value2:value})
print(result)
except tf.errors.OutOfRangeError:
print("End of epoch %d" % i)
break
tensorflow中去除不足一个batch的数据
最新推荐文章于 2024-07-01 00:15:00 发布