Update app.py
Browse files
app.py
CHANGED
|
@@ -63,31 +63,12 @@ def prepare_image(img):
|
|
| 63 |
return pred_texts, preds
|
| 64 |
|
| 65 |
def decode_batch_predictions(pred):
|
| 66 |
-
#
|
| 67 |
-
|
| 68 |
-
|
| 69 |
pred_texts = []
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
# Ambil hasil prediksi untuk sampel i
|
| 73 |
-
pred_single = pred[i]
|
| 74 |
-
|
| 75 |
-
# Ambil argmax untuk setiap langkah (timesteps) untuk mendapatkan indeks karakter
|
| 76 |
-
pred_indices = np.argmax(pred_single, axis=-1)
|
| 77 |
-
|
| 78 |
-
# Ambil hasil prediksi dengan membatasi pada 5 karakter (untuk CAPTCHA dengan panjang 5 karakter)
|
| 79 |
-
pred_indices = pred_indices[:5] # Pastikan kita hanya mengambil 5 karakter pertama
|
| 80 |
-
|
| 81 |
-
# Gabungkan prediksi menjadi string, menghindari padding (-1) dan pastikan panjangnya 5
|
| 82 |
-
pred_text = ''.join([characters[int(c)] for c in pred_indices if c != -1])
|
| 83 |
-
|
| 84 |
-
# Pastikan panjang teks hasil prediksi adalah 5 karakter
|
| 85 |
-
while len(pred_text) < 5:
|
| 86 |
-
pred_text += " " # Bisa sesuaikan dengan apa yang ingin dilakukan jika panjangnya kurang dari 5
|
| 87 |
-
|
| 88 |
-
# Append prediksi teks untuk batch
|
| 89 |
pred_texts.append(pred_text)
|
| 90 |
-
|
| 91 |
return pred_texts
|
| 92 |
|
| 93 |
def run():
|
|
|
|
| 63 |
return pred_texts, preds
|
| 64 |
|
| 65 |
def decode_batch_predictions(pred):
|
| 66 |
+
# This function should convert the predictions (logits) to text
|
| 67 |
+
# Modify this function based on your specific character map
|
|
|
|
| 68 |
pred_texts = []
|
| 69 |
+
for i in range(pred.shape[0]):
|
| 70 |
+
pred_text = ''.join([characters[int(c)] for c in pred[i] if c != -1]) # Map to characters
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
pred_texts.append(pred_text)
|
|
|
|
| 72 |
return pred_texts
|
| 73 |
|
| 74 |
def run():
|