尝试导入 Tensorflow 数据集时出错

Error when trying to import Tensorflow Datasets

我正在学习本教程:https://www.tensorflow.org/guide/keras,但在尝试使用 tf.data.Dataset 时遇到错误。

import tensorflow as tf
import tensorflow.data
import numpy as np
from tensorflow.keras import layers

model = tf.keras.Sequential([
# Adds a densely-connected layer with 64 units to the model:
layers.Dense(64, activation='relu', input_shape=(32,)),
# Add another:
layers.Dense(64, activation='relu'),
# Add a softmax layer with 10 output units:
layers.Dense(10, activation='softmax')])

model.compile(optimizer=tf.train.AdamOptimizer(0.001),
              loss='categorical_crossentropy',
              metrics=['accuracy'])

# Instantiates a toy dataset instance:
dataset = tf.data.Dataset.from_tensor_slices((data, labels))
dataset = dataset.batch(32)
dataset = dataset.repeat()

# Don't forget to specify `steps_per_epoch` when calling `fit` on a dataset.
model.fit(dataset, epochs=10, steps_per_epoch=30)

我收到这个错误:

Colocations handled automatically by placer.
Traceback (most recent call last):
  File "tutorial.py", line 19, in <module>
    dataset = tensorflow.data.Dataset.from_tensor_slices((data, labels))
NameError: name 'data' is not defined

我已经 pip 安装了 Tensorflow 和 Tensorflow-Datasets API。不确定发生了什么,非常感谢任何帮助!

您忘记定义 datalabels 变量。

如教程所述:

data = np.random.random((1000, 32))
labels = np.random.random((1000, 10))

此处datalabels未定义。

您可以通过添加

来初始化 datalabels
data = tf.random_uniform([1000, 32])
labels = tf.random_uniform([1000, 10])

之前 dataset = tf.data.Dataset.from_tensor_slices((data, labels))