1

내 자체 기능을 정의하여 TensorFlow Train API에 사용할 수 있습니까? 예 : DNNClassifier과 같은 사전 정의 된 평가 도구가있는 고급 API?tensorflow train API에서 내 자체 활성화 함수를 사용하는 방법은 무엇입니까?

tf.estimator.DNNClassifier(
    feature_columns=feature_columns, 
    hidden_units=[5,10,5 
    n_classes=3, 
    optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.01, 
               l1_regularization_strength=0.0001), 
    activation_fn=tf.nn.tanh) 
+0

생성자의'activation_fn' 매개 변수에 어떤 문제가 있습니까? 어떤 특정 사용자 지정 함수를 사용 하시겠습니까? – Maxim

+0

해당 매개 변수에 문제가 없습니다. 하지만 tf.nn을 통해 사용할 수있는 것 이외의 일부 기능을 축소 또는 수정 한 버전을 사용하고 싶습니다. 목록에? 이 세상에는 많은 종류의 한정된 함수가 있습니다 :) – Tirtha

답변

1

사용자 정의 기능이 내장되어 표현 될 수있는 경우 :

예를 들어, 나는 내 자신의 뭔가 활성화 기능 tf.nn.tanh를이 코드를 사용하지만 교체하려면 - tensorflow 작전에서, 그것은 꽤 간단합니다. 예를 들어 일반적으로

DNNClassifier(feature_columns=feature_columns, 
       ..., 
       activation_fn=lambda x: 2*tf.nn.tanh(x)+3*tf.nn.relu(x)+1) 

, activation_fn (이것은 각각의 층 이후에 적용될 것이기 때문에), 임의의 형상의 텐서를 받아들이는 호출 될 수있다. Tensorflow는 문제없이이 표현을 통해 역 전파 할 수 있습니다.

그러나 완전히 새로운 사용자 지정 op를 원하는 경우 기존 항목을 통해 표현할 수 없으면이를 등록하고 그라디언트를 수동으로 계산해야합니다. 자세한 내용은 this question을 참조하십시오.

관련 문제