【发布时间】:2021-06-01 06:08:55
【问题描述】:
问题TensorFlow 数据集
https://www.tensorflow.org/api_docs/python/tf/data/Dataset#map
https://www.tensorflow.org/api_docs/python/tf/data/Dataset#cache
- 地图功能实际上是如何工作的?
mapfn()中的print(rand)只打印一个值,但print(x)按预期打印值 - 为什么 map 函数的行为与 python map() 函数不同
-
dataset.map(mapfn)仅打印 1 个值 -
map(mapfn, numbers)打印 4 个值
-
- 当我得到以下 x 和 y 的相同结果时,使用
dataset.cache()的目的是什么?
import tensorflow as tf
from random import random
from math import ceil
def mapfn(x):
rand = ceil(5*random())
print(rand)
return x**rand
dataset = tf.data.Dataset.range(50)
dataset = dataset.map(mapfn)
# dataset = dataset.cache()
x = list(dataset.as_numpy_iterator())
print(x)
y = list(dataset.as_numpy_iterator())
print(y)
对
def mapfn(n):
rand = ceil(5*random())
print(rand)
return n**rand
numbers = [1, 2, 3, 4]
result = map(mapfn, numbers)
print(list(result))
【问题讨论】:
标签: python tensorflow tensorflow-datasets