woletee
this is the last commit I made for toneight next I have to prepare on the notion and my model is also writting as well yesss now it is working
a37b981
raw
history blame
2.37 kB
from flask import Flask, request, render_template
import os
import json
import numpy as np
from Vit_concept import run_inference, model
from GP import genetic_programming
app = Flask(__name__)
UPLOAD_FOLDER = 'uploads'
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
def tolist_safe(obj):
return obj.tolist() if isinstance(obj, np.ndarray) else obj
@app.route('/')
def index():
return render_template('index.html')
@app.route('/submit_json', methods=['POST'])
def submit_json():
json_data = request.form.get('json_data')
if not json_data:
return "No JSON data provided"
try:
data = json.loads(json_data)
except json.JSONDecodeError:
return "Invalid JSON format!"
# Continue processing exactly as before:
input_output_pairs = []
predicted_HLCs = []
for sample in data.get("train", []):
input_grid = sample["input"]
output_grid = sample["output"]
concept_label, _ = run_inference(model, input_grid, output_grid)
predicted_HLCs.append(concept_label)
input_output_pairs.append((tolist_safe(input_grid), tolist_safe(output_grid)))
predicted_HLCs = list(set(predicted_HLCs))
best_program, generations = genetic_programming(
input_output_pairs=input_output_pairs,
population_size=300,
generations=500,
mutation_rate=0.2,
crossover_rate=0.7,
max_depth=3,
predicted_HLCs=predicted_HLCs
)
# Evaluate test pairs (same as before)
test_pairs = []
predicted_test_outputs = []
for sample in data.get("test", []):
test_input = tolist_safe(sample["input"])
test_output = tolist_safe(sample["output"])
test_pairs.append((test_input, test_output))
try:
predicted = tolist_safe(best_program.evaluate(test_input))
except Exception as e:
predicted = [["ERROR"]]
predicted_test_outputs.append(predicted)
return render_template("results.html",
hlcs=predicted_HLCs,
input_output_pairs=input_output_pairs,
test_pairs=test_pairs,
predicted_test_outputs=predicted_test_outputs,
best_program=str(best_program))
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860, debug=False)