Spaces:
Sleeping
Sleeping
Update evo_architecture.py
Browse files- evo_architecture.py +13 -0
evo_architecture.py
CHANGED
|
@@ -28,6 +28,7 @@ def mutate_genome(base_config, exploration_rate=0.5):
|
|
| 28 |
config = base_config.copy()
|
| 29 |
config["genome_id"] = str(uuid.uuid4())
|
| 30 |
mutation_type = random.choice(["num_layers", "ffn_dim", "num_heads", "memory_enabled"])
|
|
|
|
| 31 |
if mutation_type == "memory_enabled":
|
| 32 |
config["memory_enabled"] = not config["memory_enabled"]
|
| 33 |
else:
|
|
@@ -35,8 +36,20 @@ def mutate_genome(base_config, exploration_rate=0.5):
|
|
| 35 |
change = int((max_val - min_val) * exploration_rate)
|
| 36 |
delta = random.randint(-change, change)
|
| 37 |
config[mutation_type] = max(min_val, min(max_val, config[mutation_type] + delta))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
return config
|
| 39 |
|
|
|
|
| 40 |
def log_genome(config, score=None):
|
| 41 |
row = [
|
| 42 |
config.get("genome_id", ""),
|
|
|
|
| 28 |
config = base_config.copy()
|
| 29 |
config["genome_id"] = str(uuid.uuid4())
|
| 30 |
mutation_type = random.choice(["num_layers", "ffn_dim", "num_heads", "memory_enabled"])
|
| 31 |
+
|
| 32 |
if mutation_type == "memory_enabled":
|
| 33 |
config["memory_enabled"] = not config["memory_enabled"]
|
| 34 |
else:
|
|
|
|
| 36 |
change = int((max_val - min_val) * exploration_rate)
|
| 37 |
delta = random.randint(-change, change)
|
| 38 |
config[mutation_type] = max(min_val, min(max_val, config[mutation_type] + delta))
|
| 39 |
+
|
| 40 |
+
# ✅ Fix: Ensure embed_dim is divisible by num_heads
|
| 41 |
+
embed_dim = 512 # Your hardcoded d_model
|
| 42 |
+
if config["num_heads"] > embed_dim:
|
| 43 |
+
config["num_heads"] = max(1, embed_dim // 64) # fallback
|
| 44 |
+
while embed_dim % config["num_heads"] != 0:
|
| 45 |
+
config["num_heads"] -= 1
|
| 46 |
+
if config["num_heads"] <= 0:
|
| 47 |
+
config["num_heads"] = 1
|
| 48 |
+
break
|
| 49 |
+
|
| 50 |
return config
|
| 51 |
|
| 52 |
+
|
| 53 |
def log_genome(config, score=None):
|
| 54 |
row = [
|
| 55 |
config.get("genome_id", ""),
|