TF内的新的高阶函数在这里详细描述:TensorFlow中的高阶函数 - 如何使用?
https://www.tensorflow.org/versions/r0.8/api_docs/python/functional_ops.html#map_fn
尤其是地图功能看起来非常有用。以下是他们写的教程:
elems = [1, 2, 3, 4, 5, 6]
squares = map_fn(lambda x: x * x, elems)
# squares == [1, 4, 9, 16, 25, 36]
因此,我创建了一个空的Python文件:
import tensorflow as tf
elems = [1, 2, 3, 4, 5, 6]
squares = tf.map_fn(lambda x: x * x, elems)
运行这给了这个错误:
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_util.pyc in make_tensor_proto(values, dtype, shape)
323 else:
324 if values is None:
--> 325 raise ValueError("None values not supported.")
326 # if dtype is provided, forces numpy array to be the type
327 # provided if possible.
ValueError: None values not supported.
有谁知道这是怎么回事?谢谢!
编辑:我正在使用TensorFlow 0.8版。
感谢您询问这个问题!事实证明'tf.map_fn()'和它的朋友有一些错误,这意味着转换为张量的处理不正确。我已经打开了一个[GitHub问题](https://github.com/tensorflow/tensorflow/issues/2366),并且正在修复中。 – mrry
谢谢!你知道在哪里可以找到tf.map_fn()作为输入张量的例子吗? – Carl
我认为这是一个相当新的图书馆,所以目前还没有很多例子。我能找到的唯一一个是[本单元测试](https://github.com/tensorflow/tensorflow/blob/f06280b0b8fd4bda35231124186ba3ff7a1f271b/tensorflow/python/kernel_tests/functional_ops_test.py#L65)。 – mrry