Tính toán tổn thất entropy chéo giữa các nhãn và dự đoán.
Sử dụng hàm mất entropy chéo này khi có hai hoặc nhiều lớp nhãn. Chúng tôi mong đợi các nhãn sẽ được cung cấp ở dạng one_hot. Nếu bạn muốn cung cấp nhãn dưới dạng số nguyên, vui lòng sử dụng tính năng mất SparseCategoricalCrossentropy
. Cần có # classes
giá trị dấu phẩy động cho mỗi đối tượng.
Cách sử dụng độc lập:
Operand<TFloat32> labels = tf.constant(new float[][] { {0, 1, 0}, {0, 0, 1} }); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} }); CategoricalCrossentropy cce = new CategoricalCrossentropy(tf); Operand<TFloat32> result = cce.call(labels, predictions); // produces 1.177
Gọi với trọng lượng mẫu:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight); // produces 0.814f
Sử dụng loại giảm SUM
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = cce.call(labels, predictions); // produces 2.354f
Sử dụng loại giảm NONE
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = cce.call(labels, predictions); // produces [0.0513f, 2.303f]
Hằng số
int | DEFAULT_AXIS | |
boolean | FROM_LOGITS_DEFAULT | |
trôi nổi | LABEL_SMOOTHING_DEFAULT |
Trường kế thừa
Nhà xây dựng công cộng
Phân loạiCrossentropy (Ops tf) Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName() làm tên mất mát, FROM_LOGITS_DEFAULT cho fromLogits, LABEL_SMOOTHING_DEFAULT cho nhãn Làm mịn, Giảm tổn thất là REDUCTION_DEFAULT và trục DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, Tên chuỗi) Tạo Mất entropy chéo được phân loại bằng cách sử dụng FROM_LOGITS_DEFAULT cho fromLogits, LABEL_SMOOTHING_DEFAULT cho làm mịn nhãn, Giảm tổn thất là REDUCTION_DEFAULT và trục DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, Giảm thiểu ) Tạo mất mát entropy chéo phân loại bằng cách sử dụng getSimpleName() làm tên mất mát, FROM_LOGITS_DEFAULT cho fromLogits, LABEL_SMOOTHING_DEFAULT cho nhãn Làm mịn và trục DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, Tên chuỗi, Giảm thiểu) Tạo mức mất entropy chéo được phân loại FROM_LOGITS_DEFAULT cho fromLogits, LABEL_SMOOTHING_DEFAULT cho làm mịn nhãn và trục DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, boolean fromLogits) Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName() làm tên mất mát, LABEL_SMOOTHING_DEFAULT cho làm mịn nhãn, Giảm tổn thất là REDUCTION_DEFAULT và trục DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, Tên chuỗi, boolean fromLogits) Tạo Mất entropy chéo được phân loại bằng cách sử dụng LABEL_SMOOTHING_DEFAULT để làm mịn nhãn, Giảm tổn thất là REDUCTION_DEFAULT và trục kênh là DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing) Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName() làm tên mất mát, Giảm tổn thất là REDUCTION_DEFAULT và trục kênh là DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, Tên chuỗi, boolean fromLogits, nhãn floatLàm mịn) Tạo Mất mát entropy chéo được phân loại bằng cách sử dụng Giảm tổn thất REDUCTION_DEFAULT và trục kênh DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, boolean fromLogits, nhãn floatLàm mịn, Giảm giảm) Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName() làm tên mất mát và trục kênh của DEFAULT_AXIS | |
Phân loạiCrossentropy (Ops tf, Tên chuỗi, boolean fromLogits, nhãn floatLàm mịn, Giảm thiểu, trục int) Tạo ra một sự mất mát entropy chéo phân loại |
Phương pháp công khai
<T mở rộng TNumber > Toán hạng <T> |
Phương pháp kế thừa
Hằng số
int tĩnh cuối cùng DEFAULT_AXIS
boolean tĩnh cuối cùng công khai FROM_LOGITS_DEFAULT
float cuối cùng tĩnh công khai LABEL_SMOOTHING_DEFAULT
Nhà xây dựng công cộng
công khai Phân loạiCrossentropy (Ops tf)
Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName()
làm tên mất mát, FROM_LOGITS_DEFAULT
cho fromLogits, LABEL_SMOOTHING_DEFAULT
cho nhãn Làm mịn, Giảm tổn thất là REDUCTION_DEFAULT
và trục DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|
public CategoricalCrossentropy (Ops tf, Tên chuỗi)
Tạo Mất entropy chéo được phân loại bằng cách sử dụng FROM_LOGITS_DEFAULT
cho fromLogits, LABEL_SMOOTHING_DEFAULT
cho làm mịn nhãn, Giảm tổn thất là REDUCTION_DEFAULT
và trục DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của sự mất mát này |
công khai Phân loạiCrossentropy (Ops tf, Giảm thiểu )
Tạo mất mát entropy chéo phân loại bằng cách sử dụng getSimpleName()
làm tên mất mát, FROM_LOGITS_DEFAULT
cho fromLogits, LABEL_SMOOTHING_DEFAULT
cho nhãn Làm mịn và trục DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
sự giảm bớt | Loại Giảm áp dụng cho tổn thất. |
public CategoricalCrossentropy (Ops tf, Tên chuỗi, Giảm thiểu)
Tạo mức mất entropy chéo được phân loại FROM_LOGITS_DEFAULT
cho fromLogits, LABEL_SMOOTHING_DEFAULT
cho làm mịn nhãn và trục DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của sự mất mát này |
sự giảm bớt | Loại Giảm áp dụng cho tổn thất. |
công khai CategoricalCrossentropy (Ops tf, boolean fromLogits)
Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName()
làm tên mất mát, LABEL_SMOOTHING_DEFAULT
cho làm mịn nhãn, Giảm tổn thất là REDUCTION_DEFAULT
và trục DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
từNhật ký | Có nên diễn giải các dự đoán dưới dạng tenxơ của các giá trị logit hay không |
public CategoricalCrossentropy (Ops tf, Tên chuỗi, boolean fromLogits)
Tạo Mất entropy chéo được phân loại bằng cách sử dụng LABEL_SMOOTHING_DEFAULT
để làm mịn nhãn, Giảm tổn thất là REDUCTION_DEFAULT
và trục kênh là DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của sự mất mát này |
từNhật ký | Có nên diễn giải các dự đoán dưới dạng tenxơ của các giá trị logit hay không |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing)
Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName()
làm tên mất mát, Giảm tổn thất là REDUCTION_DEFAULT
và trục kênh là DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
từNhật ký | Có nên diễn giải các dự đoán dưới dạng tenxơ của các giá trị logit hay không |
nhãnLàm mịn | Nổi trong [0, 1] . Khi > 0 , các giá trị nhãn được làm mịn, nghĩa là độ tin cậy trên các giá trị nhãn được giảm bớt. ví dụ: labelSmoothing=0.2 có nghĩa là chúng tôi sẽ sử dụng giá trị 0.1 cho nhãn 0 và 0.9 cho nhãn 1 |
public CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing)
Tạo Mất mát entropy chéo được phân loại bằng cách sử dụng Giảm tổn thất REDUCTION_DEFAULT
và trục kênh DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của sự mất mát này |
từNhật ký | Có nên diễn giải các dự đoán dưới dạng tenxơ của các giá trị logit hay không |
nhãnLàm mịn | Nổi trong [0, 1] . Khi > 0 , các giá trị nhãn được làm mịn, nghĩa là độ tin cậy trên các giá trị nhãn được giảm bớt. ví dụ: labelSmoothing=0.2 có nghĩa là chúng tôi sẽ sử dụng giá trị 0.1 cho nhãn 0 và 0.9 cho nhãn 1 |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelLàm mịn, Giảm thiểu)
Tạo Mất entropy chéo được phân loại bằng cách sử dụng getSimpleName()
làm tên mất mát và trục kênh của DEFAULT_AXIS
Thông số
tf | hoạt động của TensorFlow |
---|---|
từNhật ký | Có nên diễn giải các dự đoán dưới dạng tenxơ của các giá trị logit hay không |
nhãnLàm mịn | Nổi trong [0, 1] . Khi > 0 , các giá trị nhãn được làm mịn, nghĩa là độ tin cậy trên các giá trị nhãn được giảm bớt. ví dụ: x=0.2 có nghĩa là chúng tôi sẽ sử dụng giá trị 0.1 cho nhãn 0 và 0.9 cho nhãn 1 |
sự giảm bớt | Loại Giảm áp dụng cho tổn thất. |
public CategoricalCrossentropy (Ops tf, Tên chuỗi, boolean fromLogits, nhãn floatLàm mịn, Giảm thiểu, trục int)
Tạo ra một sự mất mát entropy chéo phân loại
Thông số
tf | hoạt động của TensorFlow |
---|---|
tên | tên của sự mất mát này |
từNhật ký | Có nên diễn giải các dự đoán dưới dạng tenxơ của các giá trị logit hay không |
nhãnLàm mịn | Nổi trong [0, 1] . Khi > 0 , các giá trị nhãn được làm mịn, nghĩa là độ tin cậy trên các giá trị nhãn được giảm bớt. ví dụ: labelSmoothing=0.2 có nghĩa là chúng tôi sẽ sử dụng giá trị 0.1 cho nhãn 0 và 0.9 cho nhãn 1 |
sự giảm bớt | Loại Giảm áp dụng cho tổn thất. |
trục | Trục kênh. axis=-1 tương ứng với định dạng dữ liệu "Kênh cuối cùng" và axis=1 tương ứng với định dạng dữ liệu "Kênh đầu tiên". CHANNELS_LAST và CHANNELS_FIRST |
Ném
Ngoại lệ Đối số bất hợp pháp | nếu nhãn Làm mịn không nằm trong phạm vi bao gồm 0. - 1. |
---|
Phương pháp công khai
lệnh gọi Toán hạng công khai <T> ( Toán hạng <? mở rộng nhãn TNumber >, dự đoán Toán hạng <T>, Toán hạng <T> sampleWeights)
Tạo một toán hạng tính toán tổn thất.
Nếu chạy ở chế độ Biểu đồ, quá trình tính toán sẽ đưa ra TFInvalidArgumentException
nếu các giá trị dự đoán nằm ngoài phạm vi o [0. đến 1.]. Trong Chế độ háo hức, lệnh gọi này sẽ đưa ra IllegalArgumentException
, nếu các giá trị dự đoán nằm ngoài phạm vi o [0. đến 1.]
Thông số
nhãn | các giá trị thật hoặc nhãn |
---|---|
phỏng đoán | dự đoán, giá trị phải nằm trong khoảng [0. đến 1.] bao gồm. |
mẫuTrọng lượng | Khối lượng mẫu tùy chọn đóng vai trò như một hệ số hao hụt. Nếu một đại lượng vô hướng được cung cấp thì tổn thất chỉ được tính theo giá trị đã cho. Nếu SampleWeights là một tenxơ có kích thước [batch_size] thì tổng tổn thất cho mỗi mẫu của lô sẽ được điều chỉnh lại tỷ lệ theo phần tử tương ứng trong vectơ SampleWeights. Nếu hình dạng của SampleWeights là [batch_size, d0, .. dN-1] (hoặc có thể được phát tới hình dạng này), thì mỗi phần tử tổn thất của dự đoán sẽ được chia tỷ lệ theo giá trị tương ứng của SampleWeights. (Lưu ý trên dN-1: tất cả các hàm mất mát đều giảm đi 1 chiều, thường là trục=-1.) |
Trả lại
- sự mất mát
Ném
Ngoại lệ Đối số bất hợp pháp | nếu dự đoán nằm ngoài phạm vi [0.-1.]. |
---|