基本指標類
tflearn.metrics.Metric (name=None)
指標類是 TFLearn 模型類使用的。它可以使用預期參數進行初始化,而模型類會利用提供的網路輸出和目標建立指標。
屬性
- 指標:
Tensor
。指標張量。
方法
build (predictions, targets, inputs)
建立指標方法,對所有指標使用常見引數。
引數
- 預測:
Tensor
。進行預測的網路。 - 目標:
Tensor
。目標 (標籤)。 - 輸入:
Tensor
。輸入資料。
get_tensor (self)
取得指標張量。
傳回
指標 Tensor
。
準確率
tflearn.metrics.Accuracy (name=None)
計算模型準確率。目標預測假設為對數機率。
如果預測張量為 1D (例如形狀為 [?], 或 [?, 1]), 則標籤假設為二元 (轉換為 float32),並根據等於二元結果之平均數目計算準確率,對數機率預測結果閾值為 > 0。
否則,準確率是根據類別結果計算,並假設輸入 (模型預測和標籤) 經過 one-hot 編碼。tf.argmax
用於取得類別預測,以進行相等性比較。
範例
# To be used with TFLearn estimators
acc = Accuracy()
regression = regression(net, metric=acc)
引數
- 名稱: 要顯示的名字。
前 K
tflearn.metrics.Top_k (k=1, name=None)
計算前 k 平均準確率 (目標是否在上一個 'K' 預測中)。
範例
# To be used with TFLearn estimators
top5 = Top_k(k=5)
regression = regression(net, metric=top5)
引數
- k:
int
。用於計算精確度的頂端元素數目。 - 名稱: 要顯示的名字。
標準誤差
tflearn.metrics.R2 (name=None)
計算決定係數。可協助評估線性迴歸。
範例
# To be used with TFLearn estimators
r2 = R2()
regression = regression(net, metric=r2)
引數
- 名稱: 要顯示的名字。
加權標準誤差
tflearn.metrics.WeightedR2 (name=None)
計算決定係數。可協助評估線性迴歸。
範例
# To be used with TFLearn estimators
weighted_r2 = WeightedR2()
regression = regression(net, metric=weighted_r2)
引數
- 名稱: 要顯示的名字。
accuracy_op
tflearn.metrics.accuracy_op (預測值, 目標值)
是一個操作,用於在預測值為 one-hot 編碼和目標值均為 one-hot 編碼時,計算平均準確率。
範例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
acc_op = accuracy_op(y_pred, y_true)
# Calculate accuracy by feeding data X and labels Y
accuracy = sess.run(acc_op, feed_dict={input_data: X, y_true: Y})
引數
- 預測值:
張量
。 - 目標值:
張量
。
傳回
浮点数
。平均準確率。
binary_accuracy_op
tflearn.metrics.binary_accuracy_op (預測值, 目標值)
是一個操作,用於在預測值為對數值,並且目標值為二進位編碼(表示為 int32)時,計算平均準確率。
範例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
acc_op = binary_accuracy_op(y_pred, y_true)
# Calculate accuracy by feeding data X and labels Y
binary_accuracy = sess.run(acc_op, feed_dict={input_data: X, y_true: Y})
引數
- 預測值:
float
類型的張量
。 - 目標值:
float
類型的張量
。
傳回
浮点数
。平均準確率。
top_k_op
tflearn.metrics.top_k_op (預測值, 目標值, k=1)
是一個操作,用於計算前 k 的平均準確率。
範例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
top3_op = top_k_op(y_pred, y_true, 3)
# Calculate Top-3 accuracy by feeding data X and labels Y
top3_accuracy = sess.run(top3_op, feed_dict={input_data: X, y_true: Y})
引數
- 預測值:
張量
。 - 目標值:
張量
。 - k:
int
。用於計算精確度的頂端元素數目。
傳回
浮点数
。前 k 的平均準確率。
r2_op
tflearn.metrics.r2_op (預測值, 目標值)
是一個操作,用於計算標準誤。
範例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
stderr_op = r2_op(y_pred, y_true)
# Calculate standard error by feeding data X and labels Y
std_error = sess.run(stderr_op, feed_dict={input_data: X, y_true: Y})
引數
- 預測值:
張量
。 - 目標值:
張量
。
傳回
浮点数
。標準誤。
weighted_r2_op
tflearn.metrics.weighted_r2_op (預測值, 目標值, 輸入)
是一個操作,用於計算標準誤。
範例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
stderr_op = weighted_r2_op(y_pred, y_true, input_data)
# Calculate standard error by feeding data X and labels Y
std_error = sess.run(stderr_op, feed_dict={input_data: X, y_true: Y})
引數
- 預測值:
張量
。 - 目標值:
張量
。 - 輸入:
張量
。
傳回
浮点数
。標準誤。