#python #tensorflow #tensorflow2.0
#python #тензорный поток #tensorflow2.0
Вопрос:
Я использую функцию map для своего набора данных. В отображаемой функции я хочу получить доступ к значениям тензора, чтобы использовать его, например, в «если».
Но теперь я вижу способ получить доступ к тензору вообще.
Я в режиме ожидания и имею 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)
Ответ №1:
Я предполагаю, что подобный подход может сработать для вас.
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)