SIG Addons에서 관리하는 TensorFlow용 추가 기능입니다.

import tensorflow as tf
import tensorflow_addons as tfa
train,test = tf.keras.datasets.mnist.load_data()
x_train, y_train = train
x_train = x_train[..., tf.newaxis] / 255.0

# TFA layers and activations
model = tf.keras.Sequential([
  tf.keras.layers.Conv2D(filters=10, kernel_size=(3,3),
                         activation=tfa.activations.gelu),
  tfa.layers.GroupNormalization(groups=5, axis=3),
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(10, activation='softmax')
])

# TFA optimizers, losses and metrics
model.compile(
    optimizer=tfa.optimizers.RectifiedAdam(0.001),
    loss=tfa.losses.TripletSemiHardLoss(),
    metrics=[tfa.metrics.MultiLabelConfusionMatrix(num_classes=10)])

history = model.fit(x_train, y_train, epochs=10)

TensorFlow SIG Addons는 제대로 정립된 API 패턴을 준수하지만 핵심 TensorFlow에서 사용할 수 없는 새로운 기능을 구현하는 커뮤니티 참여 저장소입니다.

TensorFlow는 기본적으로 다수의 연산자, 레이어, 측정항목, 손실, 옵티마이저 등을 지원합니다. 그러나 ML과 같이 빠르게 변화하는 분야에는 핵심 TensorFlow에 통합할 수 없는 흥미롭고 새로운 개발 요소가 많이 있습니다(그 적용 범위가 아직 명확하지 않거나 개발 요소가 커뮤니티의 일부에 의해 주로 사용되기 때문에).