我在TensorFlow中使用了一个函数,它将一组张量映射到另一个张量排列。例如,您可以写:
data = data.map(_function)
def _function(a, b, c):
return (a + 1, b, c)
所以在这里,你将_function作为函数变量传递给map,map将三个张量传递给它们,这些张量以某种方式变换(这里只添加一个)并返回。
我的问题是:有没有办法将其他变量传递给_function?
如果我想执行a + x
而不是a + 1
,那么我该如何传递其他变量?
您无法执行以下操作:data.map(_function(x))
因为您传递的是函数的结果,而不是函数本身。
我已尝试使用* arg,但我找不到方法。非常感谢任何帮助。
答案 0 :(得分:3)
你可以这样做
def extra_func(x):
def _function(a, b, c):
return (a + x, b, c)
return _function
所以你可以做data.map(extra_func(x))
或者您可以使用functools.partial来修复某些函数参数