Я просматриваю учебник TensorFlow Pix2Pix здесь https://www.tensorflow.org/tutorials/generative/pix2pix
Создается функция загрузки, которая считывает изображение и возвращает его. Таким образом, эта функция просто вызывается для построения некоторых изображений из набора данных. Затем определяются другие функции. Функция изменения размера и функция random_crop. Они используются следующим образом:
@tf.function()
def random_jitter(input_image, real_image):
# resizing to 286 x 286 x 3
input_image, real_image = resize(input_image, real_image, 286, 286)
# randomly cropping to 256 x 256 x 3
input_image, real_image = random_crop(input_image, real_image)
if tf.random.uniform(()) > 0.5:
# random mirroring
input_image = tf.image.flip_left_right(input_image)
real_image = tf.image.flip_left_right(real_image)
return input_image, real_image
Мой вопрос в том, почему мы используем здесь @ tf.function, когда мы можем просто вызвать функцию загрузки, подобную этой
inp, re = load(PATH+'train/100.jpg')
# casting to int for matplotlib to show the image
plt.figure()
plt.imshow(inp/255.0)
plt.figure()
plt.imshow(re/255.0)