tf.py_function()

https://www.tensorflow.org/api_docs/python/tf/py_function
이 함수를 사용하면 TensorFlow 그래프에서 계산을 파이썬 함수로 표현할 수 있습니다. 특히, 파이썬 함수 func 을 한 번만 구분할 수있는 TensorFlow 작업으로 래핑하여 실행을 열망으로 실행합니다. 결과적으로 tf.py_function 을 사용하면 TensorFlow 제어 흐름 구문 ( tf.cond tf.while_loop ) 대신 Python 구문 ( if , while , for 등)을 사용하여 제어 흐름을 표현할 수 있습니다 . 예를 들어, tf.py_function 을 사용 하여 로그 허브 기능을 구현할 수 있습니다 .
텍스트 데이터가 텐서 객체에 들어 있어 즉시 실행 모드에서 텐서의 numpy() 메서드로 참조할 수 있다.
하지만 map() 메서드로  변환하는 동안에는 즉시 실행이 비활성화 된다.
#3-A:
def encode(text_tensor, label):
text=text_tensor.numpy()[0]
encoded_text=encoder.encode(text)
return encoded_text, label
#3-B: TF
def encode_map_fn(text, label):
return tf.py_function(encode, inp=[text, label], Tout=(tf.int64, tf.int64))
ds_train=ds_raw_train.map(encode_map_fn)
ds_valid=ds_raw_valid.map(encode_map_fn)
ds_test=ds_raw_test.map(encode_map_fn)
tf.random.set_seed(1)
for example in ds_train.shuffle(1000).take(5):
print('퀀 :', example[0].shape)
tf.map을 이용해서 데이터셋을 수정할 때, python 함수를 이용할 때, tf.py_function()으로 래핑해서 사용