我使用的是tensorflow 1.14,并且数据集有问题。
我的代码:
my_data = [
[0, 1],
[2, 3],
[4, 5],
[6, 7]
]
slices = tf.data.Dataset.from_tensor_slices(my_data) # get dataset
it = slices.make_one_shot_iterator() # get iterator from dataset (deprecated)
next_item = it.get_next()
Run Code Online (Sandbox Code Playgroud)
它说 make_one_shot_iterator 已被弃用。
所以我尝试了以下代码
my_data = [
[0, 1],
[2, 3],
[4, 5],
[6, 7]
]
slices = tf.data.Dataset.from_tensor_slices(my_data) # get dataset
for q in slices:
print(sess.run(q))
Run Code Online (Sandbox Code Playgroud)
我立即收到 NotFoundError 异常。
我的问题:迭代数据集的正确方法是什么?
尝试这个:
import tensorflow as tf
my_data = [
[0, 1],
[2, 3],
[4, 5],
[6, 7]
]
n = len(my_data)
slices = tf.data.Dataset.from_tensor_slices(my_data) # get dataset
iterator = slices.make_initializable_iterator()
with tf.Session() as sess:
sess.run(iterator.initializer)
while n>0:
print(sess.run(iterator.get_next()))
n-=1
Run Code Online (Sandbox Code Playgroud)
如果上面仍然显示deprecation消息,请尝试以下代码:
import tensorflow as tf
tf.enable_eager_execution()
my_data = [
[0, 1],
[2, 3],
[4, 5],
[6, 7]
]
slices = tf.data.Dataset.from_tensor_slices(my_data) # get dataset
for i in slices:
print(i.numpy())
Run Code Online (Sandbox Code Playgroud)
输出:
[0 1]
[2 3]
[4 5]
[6 7]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3148 次 |
| 最近记录: |