簡體   English   中英

如何在急切模式下訪問張量值

[英]How to access Tensor values in eager mode

我在我的數據集上使用 map 函數。 在映射的函數中,我想訪問 Tensor 的值以在“if”中使用它。

但我現在看到了訪問張量的方法。

我處於急切模式並且擁有 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM