#python #tensorflow
#python #тензорный поток
Вопрос:
Я не понимаю, что означает оператор,= в этом случае, кто-нибудь может объяснить мне, что это значит?
mnist_dataset = tfds.load("mnist")
mnist_train = mnist_dataset["train"]
example,= mnist_train.take(1)
Ответ №1:
Когда включен режим ожидания или в TF 2.0, example ,= dataset.take(1)
возвращает кортеж (данные, метку), в данном случае это один обучающий пример. И example = dataset.take(1)
вернет tensorflow.python.data.ops.dataset_ops.DatasetV1Adapter
объект.
Ответ №2:
example,
распаковывает значение из значения RHS (в данном случае, dataset с одним элементом) в кортеж LHS. Распаковка набора данных эквивалентна повторению над ним: каждое повторенное значение становится элементом результирующего кортежа. В данном случае это работает, потому что набор данных содержит только один элемент ( dataset.take(1)
). Если бы ваш набор данных состоял из трех элементов, кортежу LHS потребовалось бы три элемента, например:
dataset = tf.data.Dataset.range(3) # {0, 1, 2}
a, b, c = dataset
# a: tf.Tensor: 0
# b: tf.Tensor: 1
# c: tf.Tensor: 2