Calcule la perte de charnière entre les étiquettes et les prédictions.
loss = maximum(1 - labels * predictions, 0) .
Les valeurs labels doivent être -1 ou 1. Si des étiquettes binaires (0 ou 1) sont fournies, elles seront converties en -1 ou 1.
Utilisation autonome :
Operand<TFloat32> labels =
tf.constant(new float[][] { {0.f, 1.f}, {0.f, 0.f} });
Operand<TFloat32> predictions =
tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} });
Hinge hingeLoss = new Hinge(tf);
Operand<TFloat32> result = hingeLoss.call(labels, predictions);
// produces 1.3f
Appel avec le poids de l'échantillon :
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f});
Operand<TFloat32> result = hingeLoss.call(labels, predictions, sampleWeight);
// produces 0.55f
Utilisation du type de réduction SUM :
Hinge hingeLoss = new Hinge(tf, Reduction.SUM);
Operand<TFloat32> result = hingeLoss.call(labels, predictions);
// produces 2.6f
Utilisation du type de réduction NONE :
Hinge hingeLoss = new Hinge(tf, Reduction.NONE);
Operand<TFloat32> result = hingeLoss.call(labels, predictions);
// produces [1.1f, 1.5f]
Champs hérités
Constructeurs Publics
Charnière (Ops tf) Crée une perte de charnière en utilisant getSimpleName() comme nom de perte et une réduction de perte de REDUCTION_DEFAULT | |
Charnière (Ops tf, Réduction réduction) Crée une perte de charnière en utilisant getSimpleName() comme nom de perte | |
Méthodes publiques
| <T étend TNumber > Opérande <T> |
Méthodes héritées
Constructeurs Publics
Charnière publique (Ops tf)
Crée une perte de charnière en utilisant getSimpleName() comme nom de perte et une réduction de perte de REDUCTION_DEFAULT
Paramètres
| tf | les opérations TensorFlow |
|---|
Charnière publique (Ops tf, Réduction réduction)
Crée une perte de charnière en utilisant getSimpleName() comme nom de perte
Paramètres
| tf | les opérations TensorFlow |
|---|---|
| réduction | Type de réduction à appliquer sur le sinistre. |
Charnière publique (Ops tf, nom de chaîne, réduction de réduction )
Crée une charnière
Paramètres
| tf | les opérations TensorFlow |
|---|---|
| nom | le nom de la perte |
| réduction | Type de réduction à appliquer sur le sinistre. |
Méthodes publiques
appel public Operand <T> ( Operand <? extends TNumber > labels, Operand <T> prédictions, Operand <T> sampleWeights)
Génère un opérande qui calcule la perte.
S'il est exécuté en mode graphique, le calcul lancera TFInvalidArgumentException si les valeurs de l'étiquette ne sont pas dans l'ensemble [-1., 0., 1.]. En mode Eager, cet appel lancera IllegalArgumentException , si les valeurs de l'étiquette ne sont pas dans l'ensemble [-1., 0., 1.].
Paramètres
| étiquettes | les valeurs de vérité ou les étiquettes doivent être soit -1, 0 ou 1. Les valeurs devraient être -1 ou 1. Si des étiquettes binaires (0 ou 1) sont fournies, elles seront converties en -1 ou 1. |
|---|---|
| prédictions | les prédictions, les valeurs doivent être comprises dans la plage [0. à 1.] inclus. |
| exemples de poids | sampleWeights facultatif agit comme un coefficient pour la perte. Si un scalaire est fourni, alors la perte est simplement adaptée à la valeur donnée. Si sampleWeights est un tenseur de taille [batch_size], alors la perte totale pour chaque échantillon du lot est redimensionnée par l'élément correspondant dans le vecteur SampleWeights. Si la forme de SampleWeights est [batch_size, d0, .. dN-1] (ou peut être diffusée vers cette forme), alors chaque élément de perte de prédictions est mis à l'échelle par la valeur correspondante de SampleWeights. (Remarque sur dN-1 : toutes les fonctions de perte sont réduites d'une dimension, généralement axis=-1.) |
Retours
- la perte
Jetés
| IllegalArgumentException | si les prédictions sont en dehors de la plage [0.-1.]. |
|---|