Upload AI Racing Game model
Browse files- .gitattributes +1 -0
- README.md +155 -0
- best_model.keras +0 -0
- group1-shard1of1.bin +3 -0
- metadata.json +45 -0
- model.json +1 -0
- racing_model.keras +0 -0
- tfjs_model/group1-shard1of1.bin +3 -0
- tfjs_model/model.json +1 -0
- training_history.png +3 -0
.gitattributes
CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
training_history.png filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: mit
|
3 |
+
tags:
|
4 |
+
- reinforcement-learning
|
5 |
+
- behavioral-cloning
|
6 |
+
- racing-game
|
7 |
+
- tensorflow
|
8 |
+
- neural-network
|
9 |
+
language:
|
10 |
+
- en
|
11 |
+
datasets:
|
12 |
+
- synthetic
|
13 |
+
metrics:
|
14 |
+
- accuracy
|
15 |
+
- f1
|
16 |
+
library_name: tensorflow
|
17 |
+
pipeline_tag: other
|
18 |
+
---
|
19 |
+
|
20 |
+
# AI Racing Game Model
|
21 |
+
|
22 |
+
This is a neural network trained to play a racing game using behavioral cloning. The model learns from expert demonstrations to make driving decisions (left, stay, right) based on the current game state.
|
23 |
+
|
24 |
+
## Model Details
|
25 |
+
|
26 |
+
- **Model Type**: Feed-forward Neural Network
|
27 |
+
- **Framework**: TensorFlow/Keras
|
28 |
+
- **Training Method**: Behavioral Cloning (Supervised Learning)
|
29 |
+
- **Input**: 9-dimensional state vector
|
30 |
+
- **Output**: 3-dimensional action probabilities
|
31 |
+
|
32 |
+
## Training Data
|
33 |
+
|
34 |
+
- **Total Samples**: 75,000
|
35 |
+
- **Data Source**: Synthetic expert demonstrations
|
36 |
+
- **Difficulty Levels**: Progressive (0.5x to 1.5x)
|
37 |
+
- **Training Method**: Supervised learning on expert actions
|
38 |
+
|
39 |
+
## Model Architecture
|
40 |
+
|
41 |
+
```
|
42 |
+
Input Layer: 9 features
|
43 |
+
Hidden Layer 1: 64 neurons (ReLU + BatchNorm + Dropout 0.3)
|
44 |
+
Hidden Layer 2: 32 neurons (ReLU + BatchNorm + Dropout 0.2)
|
45 |
+
Hidden Layer 3: 16 neurons (ReLU + Dropout 0.1)
|
46 |
+
Output Layer: 3 neurons (Softmax)
|
47 |
+
```
|
48 |
+
|
49 |
+
## Performance
|
50 |
+
|
51 |
+
- **Test Accuracy**: 0.9879
|
52 |
+
- **Test Loss**: 0.0471
|
53 |
+
- **Weighted F1-Score**: 0.9861
|
54 |
+
|
55 |
+
### Per-Class Metrics
|
56 |
+
- **Left Action**: Precision: 0.901, Recall: 0.471, F1: 0.618
|
57 |
+
- **Stay Action**: Precision: 0.989, Recall: 1.000, F1: 0.994
|
58 |
+
- **Right Action**: Precision: 0.973, Recall: 0.545, F1: 0.699
|
59 |
+
|
60 |
+
## Usage
|
61 |
+
|
62 |
+
### TensorFlow.js (Web)
|
63 |
+
```javascript
|
64 |
+
// Load the model
|
65 |
+
const model = await tf.loadLayersModel('model.json');
|
66 |
+
|
67 |
+
// Prepare input (9-dimensional array)
|
68 |
+
const gameState = tf.tensor2d([[
|
69 |
+
lane0_near, lane0_far, // Lane 0 sensors
|
70 |
+
lane1_near, lane1_far, // Lane 1 sensors
|
71 |
+
lane2_near, lane2_far, // Lane 2 sensors
|
72 |
+
current_lane_norm, // Current lane (0-1)
|
73 |
+
progress_norm, // Game progress (0-1)
|
74 |
+
speed_factor // Speed factor
|
75 |
+
]], [1, 9]);
|
76 |
+
|
77 |
+
// Get prediction
|
78 |
+
const prediction = model.predict(gameState);
|
79 |
+
const actionProbs = await prediction.data();
|
80 |
+
|
81 |
+
// Choose action (0=Left, 1=Stay, 2=Right)
|
82 |
+
const action = actionProbs.indexOf(Math.max(...actionProbs));
|
83 |
+
```
|
84 |
+
|
85 |
+
### Python (TensorFlow)
|
86 |
+
```python
|
87 |
+
import tensorflow as tf
|
88 |
+
import numpy as np
|
89 |
+
|
90 |
+
# Load the model
|
91 |
+
model = tf.keras.models.load_model('racing_model.keras')
|
92 |
+
|
93 |
+
# Prepare input
|
94 |
+
game_state = np.array([[
|
95 |
+
lane0_near, lane0_far,
|
96 |
+
lane1_near, lane1_far,
|
97 |
+
lane2_near, lane2_far,
|
98 |
+
current_lane_norm,
|
99 |
+
progress_norm,
|
100 |
+
speed_factor
|
101 |
+
]])
|
102 |
+
|
103 |
+
# Get prediction
|
104 |
+
action_probs = model.predict(game_state)[0]
|
105 |
+
action = np.argmax(action_probs) # 0=Left, 1=Stay, 2=Right
|
106 |
+
```
|
107 |
+
|
108 |
+
## Input Format
|
109 |
+
|
110 |
+
The model expects a 9-dimensional input vector:
|
111 |
+
1. **lane0_near** (0-1): Near obstacle sensor for left lane
|
112 |
+
2. **lane0_far** (0-1): Far obstacle sensor for left lane
|
113 |
+
3. **lane1_near** (0-1): Near obstacle sensor for middle lane
|
114 |
+
4. **lane1_far** (0-1): Far obstacle sensor for middle lane
|
115 |
+
5. **lane2_near** (0-1): Near obstacle sensor for right lane
|
116 |
+
6. **lane2_far** (0-1): Far obstacle sensor for right lane
|
117 |
+
7. **current_lane_norm** (0-1): Current lane position normalized
|
118 |
+
8. **progress_norm** (0-1): Game progress/score normalized
|
119 |
+
9. **speed_factor** (0-1): Current game speed factor
|
120 |
+
|
121 |
+
## Output Format
|
122 |
+
|
123 |
+
The model outputs 3 probability values:
|
124 |
+
- **Index 0**: Probability of moving left
|
125 |
+
- **Index 1**: Probability of staying in current lane
|
126 |
+
- **Index 2**: Probability of moving right
|
127 |
+
|
128 |
+
## Files Included
|
129 |
+
|
130 |
+
- `model.json` + `*.bin`: TensorFlow.js model files
|
131 |
+
- `racing_model.keras`: Native Keras model
|
132 |
+
- `metadata.json`: Model metadata and training info
|
133 |
+
- `training_history.png`: Training progress visualization
|
134 |
+
|
135 |
+
## Training Details
|
136 |
+
|
137 |
+
- **Epochs**: 30
|
138 |
+
- **Batch Size**: 64
|
139 |
+
- **Optimizer**: Adam (lr=0.001)
|
140 |
+
- **Loss Function**: Categorical Crossentropy
|
141 |
+
- **Early Stopping**: Patience 8
|
142 |
+
|
143 |
+
## Citation
|
144 |
+
|
145 |
+
If you use this model, please cite:
|
146 |
+
|
147 |
+
```bibtex
|
148 |
+
@misc{ai_racing_model,
|
149 |
+
title={AI Racing Game Neural Network},
|
150 |
+
author={Your Name},
|
151 |
+
year={2025},
|
152 |
+
publisher={Hugging Face},
|
153 |
+
url={https://huggingface.co/Relacosm/theline-v1}
|
154 |
+
}
|
155 |
+
```
|
best_model.keras
ADDED
Binary file (91.6 kB). View file
|
|
group1-shard1of1.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:77e6ae075ef0991fe05c8270c2cd191e2d31c62e92fa3c4dd516768d8c870b1d
|
3 |
+
size 14732
|
metadata.json
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"model_architecture": {
|
3 |
+
"input_shape": [
|
4 |
+
null,
|
5 |
+
9
|
6 |
+
],
|
7 |
+
"output_shape": [
|
8 |
+
null,
|
9 |
+
3
|
10 |
+
],
|
11 |
+
"total_params": 3683,
|
12 |
+
"trainable_params": 3491
|
13 |
+
},
|
14 |
+
"training_info": {
|
15 |
+
"final_accuracy": 0.9865882396697998,
|
16 |
+
"final_loss": 0.048811547458171844,
|
17 |
+
"epochs_trained": 30,
|
18 |
+
"best_accuracy": 0.987686276435852,
|
19 |
+
"test_accuracy": 0.9879111051559448,
|
20 |
+
"test_loss": 0.04710409790277481,
|
21 |
+
"training_date": "2025-09-07T19:52:09.037470"
|
22 |
+
},
|
23 |
+
"training_parameters": {
|
24 |
+
"num_samples": 75000,
|
25 |
+
"epochs": 30,
|
26 |
+
"batch_size": 64,
|
27 |
+
"validation_split": 0.2,
|
28 |
+
"test_split": 0.15,
|
29 |
+
"early_stopping_patience": 8,
|
30 |
+
"reduce_lr_patience": 5
|
31 |
+
},
|
32 |
+
"repository_info": {
|
33 |
+
"huggingface_repo": "Relacosm/theline-v1",
|
34 |
+
"wandb_project": "ai-racing-game"
|
35 |
+
},
|
36 |
+
"usage_instructions": {
|
37 |
+
"input_format": "9-dimensional array: [lane0_near, lane0_far, lane1_near, lane1_far, lane2_near, lane2_far, current_lane_norm, progress_norm, speed_factor]",
|
38 |
+
"output_format": "3-dimensional probability array: [left_probability, stay_probability, right_probability]",
|
39 |
+
"action_mapping": {
|
40 |
+
"0": "Move Left",
|
41 |
+
"1": "Stay",
|
42 |
+
"2": "Move Right"
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
model.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"format": "layers-model", "generatedBy": "keras v3.10.0", "convertedBy": "TensorFlow.js Converter v4.22.0", "modelTopology": {"keras_version": "3.10.0", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential_2", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "layers": [{"class_name": "InputLayer", "config": {"batch_shape": [null, 9], "dtype": "float32", "sparse": false, "ragged": false, "name": "input_layer_2"}}, {"class_name": "Dense", "config": {"name": "hidden1", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 64, "activation": "relu", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "BatchNormalization", "config": {"name": "batch_normalization_4", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": -1, "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "gamma_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "moving_mean_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "moving_variance_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null, "synchronized": false}}, {"class_name": "Dropout", "config": {"name": "dropout_6", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "rate": 0.3, "seed": null, "noise_shape": null}}, {"class_name": "Dense", "config": {"name": "hidden2", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 32, "activation": "relu", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "BatchNormalization", "config": {"name": "batch_normalization_5", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": -1, "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "gamma_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "moving_mean_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "moving_variance_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null, "synchronized": false}}, {"class_name": "Dropout", "config": {"name": "dropout_7", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "rate": 0.2, "seed": null, "noise_shape": null}}, {"class_name": "Dense", "config": {"name": "hidden3", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 16, "activation": "relu", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "dropout_8", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "rate": 0.1, "seed": null, "noise_shape": null}}, {"class_name": "Dense", "config": {"name": "output", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 3, "activation": "softmax", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}], "build_input_shape": [null, 9]}}, "training_config": {"loss": "categorical_crossentropy", "loss_weights": null, "metrics": ["accuracy", "top_k_categorical_accuracy"], "weighted_metrics": null, "run_eagerly": false, "steps_per_execution": 1, "jit_compile": false, "optimizer_config": {"class_name": "Adam", "config": {"name": "adam", "learning_rate": 0.0010000000474974513, "weight_decay": null, "clipnorm": null, "global_clipnorm": null, "clipvalue": null, "use_ema": false, "ema_momentum": 0.99, "ema_overwrite_frequency": null, "loss_scale_factor": null, "gradient_accumulation_steps": null, "beta_1": 0.9, "beta_2": 0.999, "epsilon": 1e-07, "amsgrad": false}}}}, "weightsManifest": [{"paths": ["group1-shard1of1.bin"], "weights": [{"name": "sequential_2/batch_normalization_4/gamma", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_4/beta", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_4/moving_mean", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_4/moving_variance", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/gamma", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/beta", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/moving_mean", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/moving_variance", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/hidden1/kernel", "shape": [9, 64], "dtype": "float32"}, {"name": "sequential_2/hidden1/bias", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/hidden2/kernel", "shape": [64, 32], "dtype": "float32"}, {"name": "sequential_2/hidden2/bias", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/hidden3/kernel", "shape": [32, 16], "dtype": "float32"}, {"name": "sequential_2/hidden3/bias", "shape": [16], "dtype": "float32"}, {"name": "sequential_2/output/kernel", "shape": [16, 3], "dtype": "float32"}, {"name": "sequential_2/output/bias", "shape": [3], "dtype": "float32"}]}]}
|
racing_model.keras
ADDED
Binary file (91.6 kB). View file
|
|
tfjs_model/group1-shard1of1.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:77e6ae075ef0991fe05c8270c2cd191e2d31c62e92fa3c4dd516768d8c870b1d
|
3 |
+
size 14732
|
tfjs_model/model.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"format": "layers-model", "generatedBy": "keras v3.10.0", "convertedBy": "TensorFlow.js Converter v4.22.0", "modelTopology": {"keras_version": "3.10.0", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential_2", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "layers": [{"class_name": "InputLayer", "config": {"batch_shape": [null, 9], "dtype": "float32", "sparse": false, "ragged": false, "name": "input_layer_2"}}, {"class_name": "Dense", "config": {"name": "hidden1", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 64, "activation": "relu", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "BatchNormalization", "config": {"name": "batch_normalization_4", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": -1, "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "gamma_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "moving_mean_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "moving_variance_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null, "synchronized": false}}, {"class_name": "Dropout", "config": {"name": "dropout_6", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "rate": 0.3, "seed": null, "noise_shape": null}}, {"class_name": "Dense", "config": {"name": "hidden2", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 32, "activation": "relu", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "BatchNormalization", "config": {"name": "batch_normalization_5", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "axis": -1, "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "gamma_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "moving_mean_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "moving_variance_initializer": {"module": "keras.initializers", "class_name": "Ones", "config": {}, "registered_name": null}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null, "synchronized": false}}, {"class_name": "Dropout", "config": {"name": "dropout_7", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "rate": 0.2, "seed": null, "noise_shape": null}}, {"class_name": "Dense", "config": {"name": "hidden3", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 16, "activation": "relu", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "dropout_8", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "rate": 0.1, "seed": null, "noise_shape": null}}, {"class_name": "Dense", "config": {"name": "output", "trainable": true, "dtype": {"module": "keras", "class_name": "DTypePolicy", "config": {"name": "float32"}, "registered_name": null}, "units": 3, "activation": "softmax", "use_bias": true, "kernel_initializer": {"module": "keras.initializers", "class_name": "GlorotUniform", "config": {"seed": null}, "registered_name": null}, "bias_initializer": {"module": "keras.initializers", "class_name": "Zeros", "config": {}, "registered_name": null}, "kernel_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}], "build_input_shape": [null, 9]}}, "training_config": {"loss": "categorical_crossentropy", "loss_weights": null, "metrics": ["accuracy", "top_k_categorical_accuracy"], "weighted_metrics": null, "run_eagerly": false, "steps_per_execution": 1, "jit_compile": false, "optimizer_config": {"class_name": "Adam", "config": {"name": "adam", "learning_rate": 0.0010000000474974513, "weight_decay": null, "clipnorm": null, "global_clipnorm": null, "clipvalue": null, "use_ema": false, "ema_momentum": 0.99, "ema_overwrite_frequency": null, "loss_scale_factor": null, "gradient_accumulation_steps": null, "beta_1": 0.9, "beta_2": 0.999, "epsilon": 1e-07, "amsgrad": false}}}}, "weightsManifest": [{"paths": ["group1-shard1of1.bin"], "weights": [{"name": "sequential_2/batch_normalization_4/gamma", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_4/beta", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_4/moving_mean", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_4/moving_variance", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/gamma", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/beta", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/moving_mean", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/batch_normalization_5/moving_variance", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/hidden1/kernel", "shape": [9, 64], "dtype": "float32"}, {"name": "sequential_2/hidden1/bias", "shape": [64], "dtype": "float32"}, {"name": "sequential_2/hidden2/kernel", "shape": [64, 32], "dtype": "float32"}, {"name": "sequential_2/hidden2/bias", "shape": [32], "dtype": "float32"}, {"name": "sequential_2/hidden3/kernel", "shape": [32, 16], "dtype": "float32"}, {"name": "sequential_2/hidden3/bias", "shape": [16], "dtype": "float32"}, {"name": "sequential_2/output/kernel", "shape": [16, 3], "dtype": "float32"}, {"name": "sequential_2/output/bias", "shape": [3], "dtype": "float32"}]}]}
|
training_history.png
ADDED
![]() |
Git LFS Details
|