TensorFlow Eager模式--数据导入(tf.data)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010472607/article/details/81946655

在Eager Execution模式下,placeholder操作无法与之兼容,可以使用tf.data提供的API来导入数据

Eager模式简单教程https://github.com/madalinabuzau/tensorflow-eager-tutorials

Eager模式下使用tf.data和静态图模式下基本一致,区别只在于迭代的创建。在未来,或许 Google会消除这些不同。

一. Eager模式

开启Eager模式的方法,前面的文章已经介绍了2种,最初的eager模块api放在contrib中,现在新版的TensorFlow中已成为核心API,可以直接访问

二. Eager 模式下的tf.data

#eager 在 contrib 中时的开启方法
import tensorflow.contrib.eager as tfe
tfe.enable_eager_execution()

dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0]))

for one_element in tfe.Iterator(dataset): # 注意区别
    #print(one_element)
    print(one_element.numpy(), " -> ", one_element)

或者

#eager 成为 核心api 后的开启方法
import tensorflow as tf
tf.enable_eager_execution()

dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0]))

for one_element in tf.data.Iterator(dataset): # 注意区别
    print(one_element.numpy(), " -> ", one_element)

输出

1.0  ->  tf.Tensor(1.0, shape=(), dtype=float64)
2.0  ->  tf.Tensor(2.0, shape=(), dtype=float64)
3.0  ->  tf.Tensor(3.0, shape=(), dtype=float64)
4.0  ->  tf.Tensor(4.0, shape=(), dtype=float64)
5.0  ->  tf.Tensor(5.0, shape=(), dtype=float64)

tensorflow==1.9

猜你喜欢

转载自blog.csdn.net/u010472607/article/details/81946655
今日推荐