Yeni Bir Aktivasyon Fonksiyonunu Nasıl Kullanırım


#1

Herhangi bir kütüphanede( Tensorflow, Keras…) var olan tanımlı aktivasyon fonksiyonlarından hariç kendi geliştirdiğimiz bir aktivasyon fonksiyonunu nasıl ekleyebilriz?

Ben normal fonksiyon tanımlar gibi;

def activation_function()

return Y

şeklinde tanımladım fakat, “tensor değil” hatası aldım.
Bu konuda yardımcı olabilirseniz sevinirim, şimdiden teşekkürler:)


#2

from keras.layers import Activation
from keras import backend as K
from keras.utils.generic_utils import get_custom_objects
def aktivasyon_fonksiyonum(x):
return sonuç
get_custom_objects().update({‘aktivasyon_fonksiyonum’: Activation(aktivasyon_fonksiyonum)})

Bu şekilde yapıldığını bir kaç sitede gördüm fakat ben de aşağıdaki hatayı verdi
AttributeError: ‘Activation’ object has no attribute ‘name
Python 3 kullanıyorum
Acaba sebebi nedir?


#3

Merhaba,

from keras import backend as K
from keras.utils.generic_utils import get_custom_objects

class ReLUs(Activation):
    
    def __init__(self, activation, **kwargs):
        super(ReLUs, self).__init__(activation, **kwargs)
        self.__name__ = 'ReLU_s'

def aktivasyon_fonksiyonum(X):
    # buraya fonk. yazabilirsin
    sonuc = K.maximum(m, X)
    return sonuc

get_custom_objects().update({'ReLU_s': ReLUs(aktivasyon_fonksiyonum)})

Kaynak : https://github.com/keras-team/keras/issues/8716
Murat


#4

Burda türevi alınabilir bir fonksiyon olması gerekiyor sanırım.

Ben ilk olarak mlp ile deneyeceğim fakat kullandığım aktivasyon fonksiyonu bir algoritma ve bunun çıkışını ben sonuç olarak alıyorum. Bu durumda türevi içinde aynı şekilde bir algoritma yazdım.

şimdi bu ikisini nasıl ekleyebiliriz?

Yardımınız için şimdiden teşekkürler.