Spaces:
Sleeping
Sleeping
from flask import Flask, request, render_template | |
import os | |
import json | |
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 index(): | |
return render_template('index.html') | |
def upload(): | |
if 'file' not in request.files: | |
return "No file part" | |
file = request.files['file'] | |
if file.filename == '': | |
return "No selected file" | |
filepath = os.path.join(UPLOAD_FOLDER, file.filename) | |
file.save(filepath) | |
with open(filepath, 'r') as f: | |
data = json.load(f) | |
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((input_grid, 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 | |
) | |
return render_template("results.html", | |
hlcs=predicted_HLCs, | |
input_output_pairs=input_output_pairs, | |
best_program=str(best_program)) | |
if __name__ == '__main__': | |
app.run(host="0.0.0.0", port=7860) | |