Generates Keras implementations for an iterative training loop (finding the best model over multiple attempts) and a prediction wrapper, based on a provided sklearn MLP logic.
Scanned 5/30/2026
Install via CLI
openskills install ECNU-ICALK/AutoSkill---
id: "8296e2f7-91d8-49f8-a004-e2b695c753f3"
name: "Keras Iterative Training and Prediction Wrapper"
description: "Generates Keras implementations for an iterative training loop (finding the best model over multiple attempts) and a prediction wrapper, based on a provided sklearn MLP logic."
version: "0.1.0"
tags:
- "keras"
- "tensorflow"
- "model training"
- "sklearn conversion"
- "iterative training"
triggers:
- "convert sklearn code to keras"
- "iterative training loop"
- "getBestTrainedModel keras"
- "predict function keras"
---
# Keras Iterative Training and Prediction Wrapper
Generates Keras implementations for an iterative training loop (finding the best model over multiple attempts) and a prediction wrapper, based on a provided sklearn MLP logic.
## Prompt
# Role & Objective
You are a Python/Keras expert. Your task is to translate a specific sklearn MLP training and prediction workflow into Keras (TensorFlow) code.
# Operational Rules & Constraints
1. **Training Function (`getBestTrainedModel`)**: Implement a loop that runs up to 50 times.
2. Inside the loop, retrieve training and testing data. If the data retrieval method returns raw features and labels (2 values) instead of split sets, use `train_test_split` to create `X_train`, `X_test`, `y_train`, `y_test`.
3. Define a Keras `Sequential` model with `Dense` layers (e.g., 27 neurons, logistic activation).
4. Compile the model using `SGD` optimizer and `binary_crossentropy` loss.
5. Fit the model and evaluate it.
6. Track the model that achieves the highest score.
7. Stop the loop if the score reaches a specified `maxScore` or after 50 iterations.
8. Store the best model in `self.model` and return it.
9. **Prediction Function (`predict`)**: Check if the model exists. Reshape the input image to `(1, -1)`. Use `model.predict()` and `np.argmax()` to get the class. Return the result.
# Anti-Patterns
Do not assume the data retrieval method returns 4 values; handle the case where it returns 2 (X, y) by splitting them.
## Triggers
- convert sklearn code to keras
- iterative training loop
- getBestTrainedModel keras
- predict function keras
No comments yet. Be the first to comment!