senti-beta / scratch /fix_dims.py
joseph njoroge kariuki
Deploy Senti AI to Hugging Face Spaces
021e065
Raw
History Blame Contribute Delete
3.4 kB
import os
ROOT_DIR = r"C:\Users\LENOVO\Desktop\senti_ai"
# 1. Update train_superpacks_ai.py to use correct input dimensions and remove slice constraints
train_script = os.path.join(ROOT_DIR, "scratch", "train_superpacks_ai.py")
with open(train_script, "r", encoding="utf-8") as f:
code = f.read()
# Fix classes input dims
code = code.replace("class TaxComplianceClassifier(nn.Module):\n def __init__(self, input_dim=10, hidden_dim=32):", "class TaxComplianceClassifier(nn.Module):\n def __init__(self, input_dim=11, hidden_dim=32):")
code = code.replace("class InsuranceNeedsAssessor(nn.Module):\n def __init__(self, input_dim=8, hidden_dim=24):", "class InsuranceNeedsAssessor(nn.Module):\n def __init__(self, input_dim=9, hidden_dim=24):")
code = code.replace("class AccountingBookkeepingClassifier(nn.Module):\n def __init__(self, input_dim=8, hidden_dim=24):", "class AccountingBookkeepingClassifier(nn.Module):\n def __init__(self, input_dim=9, hidden_dim=24):")
code = code.replace("class BankingTransactionScorer(nn.Module):\n def __init__(self, input_dim=8, hidden_dim=32):", "class BankingTransactionScorer(nn.Module):\n def __init__(self, input_dim=9, hidden_dim=32):")
code = code.replace("class WealthPortfolioAllocator(nn.Module):\n def __init__(self, input_dim=8, hidden_dim=24):", "class WealthPortfolioAllocator(nn.Module):\n def __init__(self, input_dim=9, hidden_dim=24):")
# Fix training instantiations input dims
code = code.replace("model_tax = TaxComplianceClassifier(input_dim=10)", "model_tax = TaxComplianceClassifier(input_dim=11)")
code = code.replace("model_ins = InsuranceNeedsAssessor(input_dim=8)", "model_ins = InsuranceNeedsAssessor(input_dim=9)")
code = code.replace("model_acc = AccountingBookkeepingClassifier(input_dim=8)", "model_acc = AccountingBookkeepingClassifier(input_dim=9)")
code = code.replace("model_bank = BankingTransactionScorer(input_dim=8)", "model_bank = BankingTransactionScorer(input_dim=9)")
code = code.replace("model_wealth = WealthPortfolioAllocator(input_dim=8)", "model_wealth = WealthPortfolioAllocator(input_dim=9)")
# Remove the slicing [:10] from tax features in training
code = code.replace(" ][:10]\n X_tax.append(feat)", "\n X_tax.append(feat)")
with open(train_script, "w", encoding="utf-8") as f:
f.write(code)
print("Updated train_superpacks_ai.py input dimensions.")
# 2. Update model.py files in superpacks directories
packs = {
"sentitax": {"dim": 11, "cls": "TaxComplianceClassifier"},
"sentiinsurance": {"dim": 9, "cls": "InsuranceNeedsAssessor"},
"sentiaccounting": {"dim": 9, "cls": "AccountingBookkeepingClassifier"},
"sentibanking": {"dim": 9, "cls": "BankingTransactionScorer"},
"sentiwealth": {"dim": 9, "cls": "WealthPortfolioAllocator"}
}
for name, info in packs.items():
model_file = os.path.join(ROOT_DIR, name, "model.py")
with open(model_file, "r", encoding="utf-8") as f:
mcode = f.read()
# Replace default input_dim in constructor
mcode = mcode.replace(f"__init__(self, input_dim=10,", f"__init__(self, input_dim={info['dim']},")
mcode = mcode.replace(f"__init__(self, input_dim=8,", f"__init__(self, input_dim={info['dim']},")
with open(model_file, "w", encoding="utf-8") as f:
f.write(mcode)
print(f"Updated {name}/model.py input_dim to {info['dim']}.")