如何以急切模式访问张量值
How to access Tensor values in eager mode
我在我的数据集上使用地图功能。在映射的函数中,我想访问张量的值以在“if”中使用它。
但我现在看到了访问张量的方法。
我处于 eager 模式并且有 tensorflow 2.1(因为 anaconda 不支持任何更新的版本)。
这是我的意思的简单示例代码:
def f1(C):
print("every numba")
#Access C somehow
#if C < 2:
# C = C-1
return C+2
dataset = tf.data.Dataset.range(1, 6) # ==> [ 1, 2, 3, 4, 5 ]
dataset2 = dataset.map(f1)
我想像这样的方法可能适合你。
def f1(C):
print("print ", C)
if C < 2:
C = C-1
return C
dataset = tf.data.Dataset.range(1, 6) # ==> [ 1, 2, 3, 4, 5 ]
dataset = dataset.map( lambda x: tf.py_function(
f1,
inp=[x], Tout=tf.int64))
for x in dataset:
print(x)
我在我的数据集上使用地图功能。在映射的函数中,我想访问张量的值以在“if”中使用它。
但我现在看到了访问张量的方法。
我处于 eager 模式并且有 tensorflow 2.1(因为 anaconda 不支持任何更新的版本)。
这是我的意思的简单示例代码:
def f1(C):
print("every numba")
#Access C somehow
#if C < 2:
# C = C-1
return C+2
dataset = tf.data.Dataset.range(1, 6) # ==> [ 1, 2, 3, 4, 5 ]
dataset2 = dataset.map(f1)
我想像这样的方法可能适合你。
def f1(C):
print("print ", C)
if C < 2:
C = C-1
return C
dataset = tf.data.Dataset.range(1, 6) # ==> [ 1, 2, 3, 4, 5 ]
dataset = dataset.map( lambda x: tf.py_function(
f1,
inp=[x], Tout=tf.int64))
for x in dataset:
print(x)