woletee commited on
Commit
2f1b584
·
1 Parent(s): 0ecdc68

I am not sure if this change could be applicable or not

Browse files
GP.py CHANGED
@@ -350,29 +350,11 @@ def genetic_programming(input_output_pairs, population_size, generations, mutati
350
  if __name__ == "__main__":
351
  if __name__ == "__main__":
352
  input_output_pairs = [
353
- (
354
- [[0,0,0,0,0,0,0,0],
355
- [0,3,3,3,0,0,0,0],
356
- [0,0,0,0,0,0,0,0],
357
- [0,4,4,4,0,0,0,0],
358
- [0,4,4,4,0,0,0,0],
359
- [0,4,4,4,0,0,0,0],
360
- [0,0,0,0,0,3,3,3],
361
- [0,0,3,3,3,0,0,0]],
362
-
363
- [[0,0,0,0,0,0,0,0],
364
- [0,0,0,0,0,0,0,0],
365
- [0,3,3,3,0,0,0,0],
366
- [0,4,4,4,0,0,0,0],
367
- [0,4,4,4,0,0,0,0],
368
- [0,4,4,4,0,0,0,0],
369
- [0,0,0,0,0,3,3,3],
370
- [0,0,3,3,3,0,0,0]]
371
- )
372
  ]
373
 
374
 
375
- predicted_HLCs = ["Above Beloww"]
376
 
377
 
378
  best_program, generations = genetic_programming(
 
350
  if __name__ == "__main__":
351
  if __name__ == "__main__":
352
  input_output_pairs = [
353
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
354
  ]
355
 
356
 
357
+ predicted_HLCs = []
358
 
359
 
360
  best_program, generations = genetic_programming(
Vit_concept.py CHANGED
@@ -83,12 +83,8 @@ def preprocess_for_inference(input_grid, output_grid):
83
  input_tokens = "<s> Input Grid: " + reformat_arc_tokens(input_grid) + " </s>"
84
  output_tokens = " Output Grid: " + reformat_arc_tokens(output_grid) + " </s>"
85
  return input_tokens + output_tokens
86
- # Concept Label Mapping
87
  CONCEPT_LABELS = {'Above_below': 0, 'Below_row_line': 1, 'Center': 2, 'Copy': 3, 'Horizontal_vertical': 4, 'Inside_outside': 5, 'Remove_below_horizontal_line': 6}
88
-
89
  CONCEPT_LABELS_INV = {v: k for k, v in CONCEPT_LABELS.items()}
90
-
91
- # Map ViT Concept to GP Function
92
  CONCEPT_TO_FUNCTION_MAP = {
93
  'Center': 'find_center_pixel',
94
  'Copy': 'identity',
@@ -114,14 +110,9 @@ def run_inference(model, input_grid, output_grid):
114
 
115
  return concept_label, mapped_function
116
  if __name__ == "__main__":
117
- # Path to your JSON file
118
  JSON_DATA_PATH = r"C:\Users\gebre\OneDrive - GIST\문서\KakaoTalk Downloads\GPARC_concept_with_vit\GPARC\SRC\data\AboveBelow3.json"
119
-
120
- # Load JSON data
121
  with open(JSON_DATA_PATH, "r") as f:
122
  data = json.load(f)
123
-
124
- # Loop through both train and test sets
125
  results = []
126
 
127
  for split_name in ["train", "test"]:
@@ -136,14 +127,12 @@ if __name__ == "__main__":
136
  "input": input_grid,
137
  "output": output_grid,
138
  "predicted_label": predicted_label,
139
- "mapped_function": str(mapped_function) # in case it's a callable
140
  })
141
  results.append({
142
  "split": split_name,
143
  "predictions": split_results
144
  })
145
-
146
- # Optionally: save the result to a JSON file
147
  with open("inference_results.json", "w") as f:
148
  json.dump(results, f, indent=2)
149
 
 
83
  input_tokens = "<s> Input Grid: " + reformat_arc_tokens(input_grid) + " </s>"
84
  output_tokens = " Output Grid: " + reformat_arc_tokens(output_grid) + " </s>"
85
  return input_tokens + output_tokens
 
86
  CONCEPT_LABELS = {'Above_below': 0, 'Below_row_line': 1, 'Center': 2, 'Copy': 3, 'Horizontal_vertical': 4, 'Inside_outside': 5, 'Remove_below_horizontal_line': 6}
 
87
  CONCEPT_LABELS_INV = {v: k for k, v in CONCEPT_LABELS.items()}
 
 
88
  CONCEPT_TO_FUNCTION_MAP = {
89
  'Center': 'find_center_pixel',
90
  'Copy': 'identity',
 
110
 
111
  return concept_label, mapped_function
112
  if __name__ == "__main__":
 
113
  JSON_DATA_PATH = r"C:\Users\gebre\OneDrive - GIST\문서\KakaoTalk Downloads\GPARC_concept_with_vit\GPARC\SRC\data\AboveBelow3.json"
 
 
114
  with open(JSON_DATA_PATH, "r") as f:
115
  data = json.load(f)
 
 
116
  results = []
117
 
118
  for split_name in ["train", "test"]:
 
127
  "input": input_grid,
128
  "output": output_grid,
129
  "predicted_label": predicted_label,
130
+ "mapped_function": str(mapped_function)
131
  })
132
  results.append({
133
  "split": split_name,
134
  "predictions": split_results
135
  })
 
 
136
  with open("inference_results.json", "w") as f:
137
  json.dump(results, f, indent=2)
138
 
__pycache__/GP.cpython-38.pyc ADDED
Binary file (11.6 kB). View file
 
__pycache__/Nods.cpython-38.pyc ADDED
Binary file (3.33 kB). View file
 
__pycache__/Vit_concept.cpython-38.pyc ADDED
Binary file (6.25 kB). View file
 
__pycache__/custom_t5_vit.cpython-38.pyc ADDED
Binary file (34 kB). View file
 
__pycache__/dsl.cpython-38.pyc ADDED
Binary file (18.5 kB). View file
 
__pycache__/task_loader.cpython-38.pyc ADDED
Binary file (958 Bytes). View file
 
app.py CHANGED
@@ -16,19 +16,13 @@ def tolist_safe(obj):
16
  def index():
17
  return render_template('index.html')
18
 
19
- @app.route('/upload', methods=['POST'])
20
- def upload():
21
- if 'file' not in request.files:
22
- return "No file part"
23
- file = request.files['file']
24
- if file.filename == '':
25
- return "No selected file"
26
-
27
- filepath = os.path.join(UPLOAD_FOLDER, file.filename)
28
- file.save(filepath)
29
-
30
- with open(filepath, 'r') as f:
31
- data = json.load(f)
32
 
33
  # Collect training data and predict HLCs
34
  input_output_pairs = []
 
16
  def index():
17
  return render_template('index.html')
18
 
19
+ @app.route('/submit_json', methods=['POST'])
20
+ def submit_json():
21
+ try:
22
+ raw_json = request.form.get('json_input')
23
+ data = json.loads(raw_json)
24
+ except Exception as e:
25
+ return f"Invalid JSON input: {e}"
 
 
 
 
 
 
26
 
27
  # Collect training data and predict HLCs
28
  input_output_pairs = []
templates/index.html CHANGED
@@ -2,13 +2,36 @@
2
  <html lang="en">
3
  <head>
4
  <meta charset="UTF-8">
5
- <title>Upload ARC Task</title>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  </head>
7
  <body>
8
- <h1>Upload ARC Task File</h1>
9
- <form action="/upload" method="post" enctype="multipart/form-data">
10
- <input type="file" name="file" accept=".json" required>
11
- <button type="submit">Upload</button>
 
12
  </form>
 
13
  </body>
14
  </html>
 
2
  <html lang="en">
3
  <head>
4
  <meta charset="UTF-8">
5
+ <title>Paste ARC Task JSON</title>
6
+ <style>
7
+ body {
8
+ font-family: Arial, sans-serif;
9
+ background-color: white;
10
+ padding: 30px;
11
+ text-align: center;
12
+ }
13
+ textarea {
14
+ width: 80%;
15
+ height: 300px;
16
+ padding: 10px;
17
+ font-family: monospace;
18
+ font-size: 14px;
19
+ margin-bottom: 20px;
20
+ }
21
+ button {
22
+ padding: 10px 20px;
23
+ font-size: 16px;
24
+ cursor: pointer;
25
+ }
26
+ </style>
27
  </head>
28
  <body>
29
+
30
+ <h1>Concept Guided GP</h1>
31
+ <form action="/submit_json" method="post">
32
+ <textarea name="json_input" placeholder="ARC task" required></textarea><br>
33
+ <button type="submit">What concept is in this task</button>
34
  </form>
35
+
36
  </body>
37
  </html>
templates/results.html CHANGED
@@ -64,7 +64,7 @@
64
  </head>
65
  <body>
66
 
67
- <h1>Concept Guided GP</h1>
68
 
69
  <h2>Step1: Training Pairs (left) with Concepts by recognition module (right most)</h2>
70
  <div id="pairs-container"></div>
 
64
  </head>
65
  <body>
66
 
67
+ <h1>Concept Guided PS</h1>
68
 
69
  <h2>Step1: Training Pairs (left) with Concepts by recognition module (right most)</h2>
70
  <div id="pairs-container"></div>
uploads/AboveBelow3 (6).json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"train":[{"input":[[0,0,0,0,0,0,0,0],[0,3,3,3,0,0,0,0],[0,0,0,0,0,0,0,0],[0,4,4,4,0,0,0,0],[0,4,4,4,0,0,0,0],[0,4,4,4,0,0,0,0],[0,0,0,0,0,3,3,3],[0,0,3,3,3,0,0,0]],"output":[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,3,3,3,0,0,0,0],[0,4,4,4,0,0,0,0],[0,4,4,4,0,0,0,0],[0,4,4,4,0,0,0,0],[0,0,0,0,0,3,3,3],[0,0,3,3,3,0,0,0]]},{"input":[[0,0,2,2,2,2,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[2,2,2,2,2,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,2,2,2,0,0,0]],"output":[[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,2,2,2,2,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[0,0,6,6,6,6,0,0,0,0],[2,2,2,2,2,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,2,2,2,0,0,0]]},{"input":[[0,0,4,4,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,0,0,0],[0,0,1,1,0,0,0],[0,4,4,4,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]],"output":[[0,0,0,0,0,0,0],[0,0,4,4,0,0,0],[0,0,1,1,0,0,0],[0,0,1,1,0,0,0],[0,4,4,4,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]]}],"test":[{"input":[[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0]],"output":[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,5,5,5,5,5,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0]]},{"input":[[0,0,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,4,4,4,4,4,0,0],[0,0,4,0,0,0,4,0,0],[0,0,4,0,0,0,4,0,0],[0,0,4,0,0,0,4,0,0],[0,0,4,4,4,4,4,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,1,0,0]],"output":[[0,0,0,0,0,0,0,0,0],[0,0,0,0,1,1,1,0,0],[0,0,4,4,4,4,4,0,0],[0,0,4,0,0,0,4,0,0],[0,0,4,0,0,0,4,0,0],[0,0,4,0,0,0,4,0,0],[0,0,4,4,4,4,4,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,1,0,0]]},{"input":[[0,0,0,0,0,0,0,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0]],"output":[[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,5,5,5,5,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0]]}]}