├── .gitignore ├── README.md ├── answer_eval.ipynb ├── finetuning.py ├── finetuning_smol.py ├── formatting_training_dataset.ipynb ├── generating_training_examples.ipynb ├── inference.py ├── inference_finetuned.py ├── inference_finetuned_smol.py ├── inference_smol.py ├── outputs ├── results.csv ├── results_finetuned.csv ├── results_finetuned_smol.csv ├── results_finetuned_smol_v2.csv └── results_smol.csv ├── requirements.txt ├── training_data ├── mathvista_images │ ├── 1.png │ ├── 10.png │ ├── 100.png │ ├── 101.png │ ├── 104.png │ ├── 105.png │ ├── 106.png │ ├── 108.png │ ├── 109.png │ ├── 11.png │ ├── 111.png │ ├── 113.png │ ├── 115.png │ ├── 116.png │ ├── 118.png │ ├── 119.png │ ├── 12.png │ ├── 120.png │ ├── 121.png │ ├── 122.png │ ├── 123.png │ ├── 124.png │ ├── 125.png │ ├── 126.png │ ├── 128.png │ ├── 129.png │ ├── 13.png │ ├── 130.png │ ├── 132.png │ ├── 133.png │ ├── 135.png │ ├── 136.png │ ├── 138.png │ ├── 139.png │ ├── 14.png │ ├── 140.png │ ├── 141.png │ ├── 142.png │ ├── 143.png │ ├── 144.png │ ├── 145.png │ ├── 146.png │ ├── 147.png │ ├── 149.png │ ├── 15.png │ ├── 151.png │ ├── 152.png │ ├── 153.png │ ├── 154.png │ ├── 155.png │ ├── 158.png │ ├── 159.png │ ├── 161.png │ ├── 163.png │ ├── 166.png │ ├── 167.png │ ├── 168.png │ ├── 17.png │ ├── 170.png │ ├── 171.png │ ├── 172.png │ ├── 176.png │ ├── 178.png │ ├── 18.png │ ├── 182.png │ ├── 183.png │ ├── 185.png │ ├── 186.png │ ├── 187.png │ ├── 19.png │ ├── 190.png │ ├── 192.png │ ├── 194.png │ ├── 195.png │ ├── 197.png │ ├── 198.png │ ├── 199.png │ ├── 2.png │ ├── 20.png │ ├── 201.png │ ├── 202.png │ ├── 204.png │ ├── 205.png │ ├── 206.png │ ├── 208.png │ ├── 209.png │ ├── 21.png │ ├── 210.png │ ├── 213.png │ ├── 214.png │ ├── 215.png │ ├── 216.png │ ├── 218.png │ ├── 22.png │ ├── 221.png │ ├── 222.png │ ├── 223.png │ ├── 225.png │ ├── 226.png │ ├── 227.png │ ├── 228.png │ ├── 229.png │ ├── 23.png │ ├── 230.png │ ├── 231.png │ ├── 233.png │ ├── 234.png │ ├── 235.png │ ├── 237.png │ ├── 238.png │ ├── 240.png │ ├── 241.png │ ├── 242.png │ ├── 243.png │ ├── 244.png │ ├── 247.png │ ├── 249.png │ ├── 25.png │ ├── 253.png │ ├── 254.png │ ├── 255.png │ ├── 256.png │ ├── 258.png │ ├── 259.png │ ├── 26.png │ ├── 263.png │ ├── 264.png │ ├── 265.png │ ├── 266.png │ ├── 267.png │ ├── 268.png │ ├── 27.png │ ├── 270.png │ ├── 271.png │ ├── 273.png │ ├── 274.png │ ├── 275.png │ ├── 277.png │ ├── 278.png │ ├── 279.png │ ├── 28.png │ ├── 280.png │ ├── 281.png │ ├── 282.png │ ├── 283.png │ ├── 285.png │ ├── 286.png │ ├── 288.png │ ├── 289.png │ ├── 29.png │ ├── 290.png │ ├── 291.png │ ├── 292.png │ ├── 294.png │ ├── 295.png │ ├── 296.png │ ├── 298.png │ ├── 299.png │ ├── 3.png │ ├── 30.png │ ├── 300.png │ ├── 301.png │ ├── 302.png │ ├── 303.png │ ├── 304.png │ ├── 305.png │ ├── 307.png │ ├── 308.png │ ├── 309.png │ ├── 31.png │ ├── 310.png │ ├── 311.png │ ├── 313.png │ ├── 314.png │ ├── 316.png │ ├── 317.png │ ├── 318.png │ ├── 319.png │ ├── 32.png │ ├── 320.png │ ├── 321.png │ ├── 322.png │ ├── 324.png │ ├── 327.png │ ├── 328.png │ ├── 33.png │ ├── 330.png │ ├── 331.png │ ├── 332.png │ ├── 333.png │ ├── 334.png │ ├── 335.png │ ├── 336.png │ ├── 337.png │ ├── 338.png │ ├── 339.png │ ├── 34.png │ ├── 340.png │ ├── 341.png │ ├── 343.png │ ├── 345.png │ ├── 346.png │ ├── 347.png │ ├── 348.png │ ├── 349.png │ ├── 35.png │ ├── 37.png │ ├── 38.png │ ├── 4.png │ ├── 40.png │ ├── 42.png │ ├── 43.png │ ├── 44.png │ ├── 45.png │ ├── 47.png │ ├── 5.png │ ├── 50.png │ ├── 51.png │ ├── 53.png │ ├── 54.png │ ├── 55.png │ ├── 56.png │ ├── 57.png │ ├── 58.png │ ├── 60.png │ ├── 61.png │ ├── 63.png │ ├── 64.png │ ├── 66.png │ ├── 67.png │ ├── 70.png │ ├── 71.png │ ├── 72.png │ ├── 73.png │ ├── 74.png │ ├── 75.png │ ├── 76.png │ ├── 78.png │ ├── 79.png │ ├── 82.png │ ├── 85.png │ ├── 86.png │ ├── 90.png │ ├── 91.png │ ├── 92.png │ ├── 93.png │ ├── 94.png │ ├── 95.png │ ├── 96.png │ ├── 97.png │ └── 99.png ├── training.csv ├── training_correct.csv ├── training_dict.json ├── truncated_training_dict.json └── truncated_training_dict_v2.json └── visualising_examples.ipynb /.gitignore: -------------------------------------------------------------------------------- 1 | .env -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pali-Reason Project 2 | 3 | ## Overview 4 | This project utilizes **Gemini 2.0 Flash Thiking** to generate distilled thoughts from the **MathVista Dataset**, enabling sophisticated reasoning capabilities to finetune **PaliGemma2-3B-448pt**. 5 | 6 | --- 7 | 8 | ## Project Structure 9 | ``` 10 | . 11 | ├── training_data/ # Contains training datasets. 12 | ├── outputs/ # Contains results from the inference files. 13 | ├── generating_training_examples.ipynb # Notebook for generating initial thoughts. 14 | ├── formatting_training_dataset.ipynb # Notebook for getting the right data for training. 15 | ├── finetuning.py # Script for fine-tuning the model (requires 1 H100 GPU). 16 | ├── inference.py # Script for inference with the base model. 17 | ├── inference_finetuned.py # Script for inference with the fine-tuned model. 18 | ├── visualising_examples.ipynb # Script to visualise the outputs of the different models. 19 | ├── answer_eval.ipynb # Notebook for evaluating model-generated answers. 20 | ├── requirements.txt # Required Python dependencies. 21 | ├── .env # API keys for Anthropic and Google. 22 | └── LICENSE # MIT License. 23 | ``` 24 | 25 | --- 26 | 27 | ## Setup Instructions 28 | 29 | ### 1. Install Dependencies 30 | Ensure Python is installed, then run: 31 | ```bash 32 | pip install -r requirements.txt 33 | ``` 34 | 35 | ### 2. Environment Variables 36 | Create a `.env` file in the project directory with the following keys: 37 | ```env 38 | ANTHROPIC_API_KEY= 39 | GOOGLE_API_KEY= 40 | ``` 41 | 42 | --- 43 | 44 | ## Usage 45 | 46 | ### 1. Thought Generation 47 | Run `generating_training_examples.ipynb` to generate initial thoughts from the MathVista dataset. 48 | 49 | ### 2. Data Correction and Formatting 50 | - Use `formatting_training_dataset` to correct the generated thoughts and format the corrected data with `from_csv_to_train.ipynb` to prepare it for training. 51 | 52 | ### 3. Fine-Tuning 53 | Fine-tune the model using the `finetuning.py` script. Ensure access to an H100 GPU for efficient processing: 54 | ```bash 55 | python finetuning.py 56 | ``` 57 | 58 | ### 4. Inference 59 | - For base model inference: 60 | ```bash 61 | python inference.py 62 | ``` 63 | - For fine-tuned model inference: 64 | ```bash 65 | python inference_finetuned.py 66 | ``` 67 | 68 | ### 5. Evaluation 69 | Evaluate the results using the `answer_eval.ipynb` notebook. 70 | 71 | --- 72 | 73 | ## License 74 | This project is licensed under the [MIT License](LICENSE). 75 | 76 | ## Contributions 77 | Contributions are welcome! Please create a pull request or raise an issue if you'd like to improve the project. 78 | 79 | --- 80 | 81 | For any questions or feedback, please contact the project maintainers. 82 | 83 | -------------------------------------------------------------------------------- /answer_eval.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import anthropic\n", 10 | "import pandas as pd\n", 11 | "\n", 12 | "client = anthropic.Anthropic()" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 2, 18 | "metadata": {}, 19 | "outputs": [], 20 | "source": [ 21 | "def get_prompt(query:str, answer:str, generated_answer:str) -> str:\n", 22 | " prompt = \"\"\"Given following MathVista query, answer and generated answer, output \"yes\" or \"no\" regarding whether the generated answer is correct.\n", 23 | " Query: {query} \n", 24 | " Answer: {answer} \n", 25 | " Generated Answer: {generated_answer} \n", 26 | "\n", 27 | " Output only \"yes\" or \"no\" regarding correctness of the generated answer.\n", 28 | " Output:\"\"\".format(query=query, answer=answer, generated_answer=generated_answer)\n", 29 | " return prompt" 30 | ] 31 | }, 32 | { 33 | "cell_type": "markdown", 34 | "metadata": {}, 35 | "source": [ 36 | "## Evaluating Base Model results" 37 | ] 38 | }, 39 | { 40 | "cell_type": "code", 41 | "execution_count": 3, 42 | "metadata": {}, 43 | "outputs": [ 44 | { 45 | "name": "stdout", 46 | "output_type": "stream", 47 | "text": [ 48 | "prompt Hint: Please answer the question requiring an ...\n", 49 | "result \\n0\n", 50 | "true_answer 1\n", 51 | "Name: 0, dtype: object\n" 52 | ] 53 | } 54 | ], 55 | "source": [ 56 | "paligemma2_base_results = pd.read_csv(\"results.csv\")\n", 57 | "print(paligemma2_base_results.iloc[0])" 58 | ] 59 | }, 60 | { 61 | "cell_type": "code", 62 | "execution_count": 4, 63 | "metadata": {}, 64 | "outputs": [ 65 | { 66 | "name": "stdout", 67 | "output_type": "stream", 68 | "text": [ 69 | "step 0\n", 70 | "step 1\n", 71 | "step 2\n", 72 | "step 3\n", 73 | "step 4\n", 74 | "step 5\n", 75 | "step 6\n", 76 | "step 7\n", 77 | "step 8\n", 78 | "step 9\n", 79 | "step 10\n", 80 | "step 11\n", 81 | "step 12\n", 82 | "step 13\n", 83 | "step 14\n", 84 | "step 15\n", 85 | "step 16\n", 86 | "step 17\n", 87 | "step 18\n", 88 | "step 19\n", 89 | "step 20\n", 90 | "step 21\n", 91 | "step 22\n", 92 | "step 23\n", 93 | "step 24\n", 94 | "step 25\n", 95 | "step 26\n", 96 | "step 27\n", 97 | "step 28\n", 98 | "step 29\n", 99 | "step 30\n", 100 | "step 31\n", 101 | "step 32\n", 102 | "step 33\n", 103 | "step 34\n", 104 | "step 35\n", 105 | "step 36\n", 106 | "step 37\n", 107 | "step 38\n", 108 | "step 39\n", 109 | "step 40\n", 110 | "step 41\n", 111 | "step 42\n", 112 | "step 43\n", 113 | "step 44\n", 114 | "step 45\n", 115 | "step 46\n", 116 | "step 47\n", 117 | "step 48\n", 118 | "step 49\n", 119 | "step 50\n", 120 | "step 51\n", 121 | "step 52\n", 122 | "step 53\n", 123 | "step 54\n", 124 | "step 55\n", 125 | "step 56\n", 126 | "step 57\n", 127 | "step 58\n", 128 | "step 59\n", 129 | "step 60\n", 130 | "step 61\n", 131 | "step 62\n", 132 | "step 63\n", 133 | "step 64\n", 134 | "step 65\n", 135 | "step 66\n", 136 | "step 67\n", 137 | "step 68\n", 138 | "step 69\n", 139 | "step 70\n", 140 | "step 71\n", 141 | "step 72\n", 142 | "step 73\n", 143 | "step 74\n", 144 | "step 75\n", 145 | "step 76\n", 146 | "step 77\n", 147 | "step 78\n", 148 | "step 79\n", 149 | "step 80\n", 150 | "step 81\n", 151 | "step 82\n", 152 | "step 83\n", 153 | "step 84\n", 154 | "step 85\n", 155 | "step 86\n", 156 | "step 87\n", 157 | "step 88\n", 158 | "step 89\n", 159 | "step 90\n", 160 | "step 91\n", 161 | "step 92\n", 162 | "step 93\n", 163 | "step 94\n", 164 | "step 95\n", 165 | "step 96\n", 166 | "step 97\n", 167 | "step 98\n", 168 | "step 99\n", 169 | "step 100\n", 170 | "step 101\n", 171 | "step 102\n", 172 | "step 103\n", 173 | "step 104\n", 174 | "step 105\n", 175 | "step 106\n", 176 | "step 107\n", 177 | "step 108\n", 178 | "step 109\n", 179 | "step 110\n", 180 | "step 111\n", 181 | "step 112\n", 182 | "step 113\n", 183 | "step 114\n", 184 | "step 115\n", 185 | "step 116\n", 186 | "step 117\n", 187 | "step 118\n", 188 | "step 119\n", 189 | "step 120\n", 190 | "step 121\n", 191 | "step 122\n", 192 | "step 123\n", 193 | "step 124\n", 194 | "step 125\n", 195 | "step 126\n", 196 | "step 127\n", 197 | "step 128\n", 198 | "step 129\n", 199 | "step 130\n", 200 | "step 131\n", 201 | "step 132\n", 202 | "step 133\n", 203 | "step 134\n", 204 | "step 135\n", 205 | "step 136\n", 206 | "step 137\n", 207 | "step 138\n", 208 | "step 139\n", 209 | "step 140\n", 210 | "step 141\n", 211 | "step 142\n", 212 | "step 143\n", 213 | "step 144\n", 214 | "step 145\n", 215 | "step 146\n", 216 | "step 147\n", 217 | "step 148\n", 218 | "step 149\n", 219 | "step 150\n", 220 | "step 151\n", 221 | "step 152\n", 222 | "step 153\n", 223 | "step 154\n", 224 | "step 155\n", 225 | "step 156\n", 226 | "step 157\n", 227 | "step 158\n", 228 | "step 159\n", 229 | "step 160\n", 230 | "step 161\n", 231 | "step 162\n", 232 | "step 163\n", 233 | "step 164\n", 234 | "step 165\n", 235 | "step 166\n", 236 | "step 167\n", 237 | "step 168\n", 238 | "step 169\n", 239 | "step 170\n", 240 | "step 171\n", 241 | "step 172\n", 242 | "step 173\n", 243 | "step 174\n", 244 | "step 175\n", 245 | "step 176\n", 246 | "step 177\n", 247 | "step 178\n", 248 | "step 179\n", 249 | "step 180\n", 250 | "step 181\n", 251 | "step 182\n", 252 | "step 183\n", 253 | "step 184\n", 254 | "step 185\n", 255 | "step 186\n", 256 | "step 187\n", 257 | "step 188\n", 258 | "step 189\n", 259 | "step 190\n", 260 | "step 191\n", 261 | "step 192\n", 262 | "step 193\n", 263 | "step 194\n", 264 | "step 195\n", 265 | "step 196\n", 266 | "step 197\n", 267 | "step 198\n", 268 | "step 199\n", 269 | "step 200\n", 270 | "step 201\n", 271 | "step 202\n", 272 | "step 203\n", 273 | "step 204\n", 274 | "step 205\n", 275 | "step 206\n", 276 | "step 207\n", 277 | "step 208\n", 278 | "step 209\n", 279 | "step 210\n", 280 | "step 211\n", 281 | "step 212\n", 282 | "step 213\n", 283 | "step 214\n", 284 | "step 215\n", 285 | "step 216\n", 286 | "step 217\n", 287 | "step 218\n", 288 | "step 219\n", 289 | "step 220\n", 290 | "step 221\n", 291 | "step 222\n", 292 | "step 223\n", 293 | "step 224\n", 294 | "step 225\n", 295 | "step 226\n", 296 | "step 227\n", 297 | "step 228\n", 298 | "step 229\n", 299 | "step 230\n", 300 | "step 231\n", 301 | "step 232\n", 302 | "step 233\n", 303 | "step 234\n", 304 | "step 235\n", 305 | "step 236\n", 306 | "step 237\n", 307 | "step 238\n", 308 | "step 239\n", 309 | "step 240\n", 310 | "step 241\n", 311 | "step 242\n", 312 | "step 243\n", 313 | "step 244\n", 314 | "step 245\n", 315 | "step 246\n", 316 | "step 247\n", 317 | "step 248\n", 318 | "step 249\n", 319 | "step 250\n", 320 | "step 251\n", 321 | "step 252\n", 322 | "step 253\n", 323 | "step 254\n", 324 | "step 255\n", 325 | "step 256\n", 326 | "step 257\n", 327 | "step 258\n", 328 | "step 259\n", 329 | "step 260\n", 330 | "step 261\n", 331 | "step 262\n", 332 | "step 263\n", 333 | "step 264\n", 334 | "step 265\n", 335 | "step 266\n", 336 | "step 267\n", 337 | "step 268\n", 338 | "step 269\n", 339 | "step 270\n", 340 | "step 271\n", 341 | "step 272\n", 342 | "step 273\n", 343 | "step 274\n", 344 | "step 275\n", 345 | "step 276\n", 346 | "step 277\n", 347 | "step 278\n", 348 | "step 279\n", 349 | "step 280\n", 350 | "step 281\n", 351 | "step 282\n", 352 | "step 283\n", 353 | "step 284\n", 354 | "step 285\n", 355 | "step 286\n", 356 | "step 287\n", 357 | "step 288\n", 358 | "step 289\n", 359 | "step 290\n", 360 | "step 291\n", 361 | "step 292\n", 362 | "step 293\n", 363 | "step 294\n", 364 | "step 295\n", 365 | "step 296\n", 366 | "step 297\n", 367 | "step 298\n", 368 | "step 299\n", 369 | "step 300\n", 370 | "step 301\n", 371 | "step 302\n", 372 | "step 303\n", 373 | "step 304\n", 374 | "step 305\n", 375 | "step 306\n", 376 | "step 307\n", 377 | "step 308\n", 378 | "step 309\n", 379 | "step 310\n", 380 | "step 311\n", 381 | "step 312\n", 382 | "step 313\n", 383 | "step 314\n", 384 | "step 315\n", 385 | "step 316\n", 386 | "step 317\n", 387 | "step 318\n", 388 | "step 319\n", 389 | "step 320\n", 390 | "step 321\n", 391 | "step 322\n", 392 | "step 323\n", 393 | "step 324\n", 394 | "step 325\n", 395 | "step 326\n", 396 | "step 327\n", 397 | "step 328\n", 398 | "step 329\n", 399 | "step 330\n", 400 | "step 331\n", 401 | "step 332\n", 402 | "step 333\n", 403 | "step 334\n", 404 | "step 335\n", 405 | "step 336\n", 406 | "step 337\n", 407 | "step 338\n", 408 | "step 339\n", 409 | "step 340\n", 410 | "step 341\n", 411 | "step 342\n", 412 | "step 343\n", 413 | "step 344\n", 414 | "step 345\n", 415 | "step 346\n", 416 | "step 347\n", 417 | "step 348\n", 418 | "step 349\n", 419 | "step 350\n", 420 | "step 351\n", 421 | "step 352\n", 422 | "step 353\n", 423 | "step 354\n", 424 | "step 355\n", 425 | "step 356\n", 426 | "step 357\n", 427 | "step 358\n", 428 | "step 359\n", 429 | "step 360\n", 430 | "step 361\n", 431 | "step 362\n", 432 | "step 363\n", 433 | "step 364\n", 434 | "step 365\n", 435 | "step 366\n", 436 | "step 367\n", 437 | "step 368\n", 438 | "step 369\n", 439 | "step 370\n", 440 | "step 371\n", 441 | "step 372\n", 442 | "step 373\n", 443 | "step 374\n", 444 | "step 375\n", 445 | "step 376\n", 446 | "step 377\n", 447 | "step 378\n", 448 | "step 379\n", 449 | "step 380\n", 450 | "step 381\n", 451 | "step 382\n", 452 | "step 383\n", 453 | "step 384\n", 454 | "step 385\n", 455 | "step 386\n", 456 | "step 387\n", 457 | "step 388\n", 458 | "step 389\n", 459 | "step 390\n", 460 | "step 391\n", 461 | "step 392\n", 462 | "step 393\n", 463 | "step 394\n", 464 | "step 395\n", 465 | "step 396\n", 466 | "step 397\n", 467 | "step 398\n", 468 | "step 399\n", 469 | "step 400\n", 470 | "step 401\n", 471 | "step 402\n", 472 | "step 403\n", 473 | "step 404\n", 474 | "step 405\n", 475 | "step 406\n", 476 | "step 407\n", 477 | "step 408\n", 478 | "step 409\n", 479 | "step 410\n", 480 | "step 411\n", 481 | "step 412\n", 482 | "step 413\n", 483 | "step 414\n", 484 | "step 415\n", 485 | "step 416\n", 486 | "step 417\n", 487 | "step 418\n", 488 | "step 419\n", 489 | "step 420\n", 490 | "step 421\n", 491 | "step 422\n", 492 | "step 423\n", 493 | "step 424\n", 494 | "step 425\n", 495 | "step 426\n", 496 | "step 427\n", 497 | "step 428\n", 498 | "step 429\n", 499 | "step 430\n", 500 | "step 431\n", 501 | "step 432\n", 502 | "step 433\n", 503 | "step 434\n", 504 | "step 435\n", 505 | "step 436\n", 506 | "step 437\n", 507 | "step 438\n", 508 | "step 439\n", 509 | "step 440\n", 510 | "step 441\n", 511 | "step 442\n", 512 | "step 443\n", 513 | "step 444\n", 514 | "step 445\n", 515 | "step 446\n", 516 | "step 447\n", 517 | "step 448\n", 518 | "step 449\n", 519 | "step 450\n", 520 | "step 451\n", 521 | "step 452\n", 522 | "step 453\n", 523 | "step 454\n", 524 | "step 455\n", 525 | "step 456\n", 526 | "step 457\n", 527 | "step 458\n", 528 | "step 459\n", 529 | "step 460\n", 530 | "step 461\n", 531 | "step 462\n", 532 | "step 463\n", 533 | "step 464\n", 534 | "step 465\n", 535 | "step 466\n", 536 | "step 467\n", 537 | "step 468\n", 538 | "step 469\n", 539 | "step 470\n", 540 | "step 471\n", 541 | "step 472\n", 542 | "step 473\n", 543 | "step 474\n", 544 | "step 475\n", 545 | "step 476\n", 546 | "step 477\n", 547 | "step 478\n", 548 | "step 479\n", 549 | "step 480\n", 550 | "step 481\n", 551 | "step 482\n", 552 | "step 483\n", 553 | "step 484\n", 554 | "step 485\n", 555 | "step 486\n", 556 | "step 487\n", 557 | "step 488\n", 558 | "step 489\n", 559 | "step 490\n", 560 | "step 491\n", 561 | "step 492\n", 562 | "step 493\n", 563 | "step 494\n", 564 | "step 495\n", 565 | "step 496\n", 566 | "step 497\n", 567 | "step 498\n", 568 | "step 499\n", 569 | "step 500\n", 570 | "step 501\n", 571 | "step 502\n", 572 | "step 503\n", 573 | "step 504\n", 574 | "step 505\n", 575 | "step 506\n", 576 | "step 507\n", 577 | "step 508\n", 578 | "step 509\n", 579 | "step 510\n", 580 | "step 511\n", 581 | "step 512\n", 582 | "step 513\n", 583 | "step 514\n", 584 | "step 515\n", 585 | "step 516\n", 586 | "step 517\n", 587 | "step 518\n", 588 | "step 519\n", 589 | "step 520\n", 590 | "step 521\n", 591 | "step 522\n", 592 | "step 523\n", 593 | "step 524\n", 594 | "step 525\n", 595 | "step 526\n", 596 | "step 527\n", 597 | "step 528\n", 598 | "step 529\n", 599 | "step 530\n", 600 | "step 531\n", 601 | "step 532\n", 602 | "step 533\n", 603 | "step 534\n", 604 | "step 535\n", 605 | "step 536\n", 606 | "step 537\n", 607 | "step 538\n", 608 | "step 539\n", 609 | "step 540\n", 610 | "step 541\n", 611 | "step 542\n", 612 | "step 543\n", 613 | "step 544\n", 614 | "step 545\n", 615 | "step 546\n", 616 | "step 547\n", 617 | "step 548\n", 618 | "step 549\n", 619 | "step 550\n", 620 | "step 551\n", 621 | "step 552\n", 622 | "step 553\n", 623 | "step 554\n", 624 | "step 555\n", 625 | "step 556\n", 626 | "step 557\n", 627 | "step 558\n", 628 | "step 559\n", 629 | "step 560\n", 630 | "step 561\n", 631 | "step 562\n", 632 | "step 563\n", 633 | "step 564\n", 634 | "step 565\n", 635 | "step 566\n", 636 | "step 567\n", 637 | "step 568\n", 638 | "step 569\n", 639 | "step 570\n", 640 | "step 571\n", 641 | "step 572\n", 642 | "step 573\n", 643 | "step 574\n", 644 | "step 575\n", 645 | "step 576\n", 646 | "step 577\n", 647 | "step 578\n", 648 | "step 579\n", 649 | "step 580\n", 650 | "step 581\n", 651 | "step 582\n", 652 | "step 583\n", 653 | "step 584\n", 654 | "step 585\n", 655 | "step 586\n", 656 | "step 587\n", 657 | "step 588\n", 658 | "step 589\n", 659 | "step 590\n", 660 | "step 591\n", 661 | "step 592\n", 662 | "step 593\n", 663 | "step 594\n", 664 | "step 595\n", 665 | "step 596\n", 666 | "step 597\n", 667 | "step 598\n", 668 | "step 599\n", 669 | "step 600\n", 670 | "step 601\n", 671 | "step 602\n", 672 | "step 603\n", 673 | "step 604\n", 674 | "step 605\n", 675 | "step 606\n", 676 | "step 607\n", 677 | "step 608\n", 678 | "step 609\n", 679 | "step 610\n", 680 | "step 611\n", 681 | "step 612\n", 682 | "step 613\n", 683 | "step 614\n", 684 | "step 615\n", 685 | "step 616\n", 686 | "step 617\n", 687 | "step 618\n", 688 | "step 619\n", 689 | "step 620\n", 690 | "step 621\n", 691 | "step 622\n", 692 | "step 623\n", 693 | "step 624\n", 694 | "step 625\n", 695 | "step 626\n", 696 | "step 627\n", 697 | "step 628\n", 698 | "step 629\n", 699 | "step 630\n", 700 | "step 631\n", 701 | "step 632\n", 702 | "step 633\n", 703 | "step 634\n", 704 | "step 635\n", 705 | "step 636\n", 706 | "step 637\n", 707 | "step 638\n", 708 | "step 639\n", 709 | "step 640\n", 710 | "step 641\n", 711 | "step 642\n", 712 | "step 643\n", 713 | "step 644\n", 714 | "step 645\n", 715 | "step 646\n", 716 | "step 647\n", 717 | "step 648\n" 718 | ] 719 | } 720 | ], 721 | "source": [ 722 | "validity_list = []\n", 723 | "for i in range(len(paligemma2_base_results)):\n", 724 | " print(f\"step {i}\")\n", 725 | " message = client.messages.create(\n", 726 | " model=\"claude-3-5-sonnet-20241022\",\n", 727 | " max_tokens=1000,\n", 728 | " temperature=0,\n", 729 | " messages=[\n", 730 | " {\n", 731 | " \"role\": \"user\",\n", 732 | " \"content\": [\n", 733 | " {\n", 734 | " \"type\": \"text\",\n", 735 | " \"text\": get_prompt(\n", 736 | " query=paligemma2_base_results.iloc[i][\"prompt\"], \n", 737 | " answer=paligemma2_base_results.iloc[i][\"true_answer\"], \n", 738 | " generated_answer=paligemma2_base_results.iloc[i][\"result\"])\n", 739 | " }\n", 740 | " ]\n", 741 | " }\n", 742 | " ]\n", 743 | " )\n", 744 | " validity_list.append(message.content[0].text)" 745 | ] 746 | }, 747 | { 748 | "cell_type": "code", 749 | "execution_count": 10, 750 | "metadata": {}, 751 | "outputs": [ 752 | { 753 | "name": "stdout", 754 | "output_type": "stream", 755 | "text": [ 756 | "Percent right: 6.47%\n" 757 | ] 758 | } 759 | ], 760 | "source": [ 761 | "paligemma2_base_results[\"validity\"] = validity_list\n", 762 | "print(f\"Percent right: {round(len(paligemma2_base_results[paligemma2_base_results[\"validity\"] == \"yes\"]) / len(paligemma2_base_results) * 100, 2)}%\")" 763 | ] 764 | }, 765 | { 766 | "cell_type": "markdown", 767 | "metadata": {}, 768 | "source": [ 769 | "## Evaluating Finetuned Model results" 770 | ] 771 | }, 772 | { 773 | "cell_type": "code", 774 | "execution_count": 11, 775 | "metadata": {}, 776 | "outputs": [ 777 | { 778 | "name": "stdout", 779 | "output_type": "stream", 780 | "text": [ 781 | "prompt Hint: Please answer the question requiring an ...\n", 782 | "result \\nThoughts:\\nThe user is asking for the number...\n", 783 | "true_answer 1\n", 784 | "Name: 0, dtype: object\n" 785 | ] 786 | } 787 | ], 788 | "source": [ 789 | "paligemma2_finetuned_results = pd.read_csv(\"results_finetuned.csv\")\n", 790 | "print(paligemma2_finetuned_results.iloc[0])" 791 | ] 792 | }, 793 | { 794 | "cell_type": "code", 795 | "execution_count": 12, 796 | "metadata": {}, 797 | "outputs": [ 798 | { 799 | "name": "stdout", 800 | "output_type": "stream", 801 | "text": [ 802 | "step 0\n", 803 | "step 1\n", 804 | "step 2\n", 805 | "step 3\n", 806 | "step 4\n", 807 | "step 5\n", 808 | "step 6\n", 809 | "step 7\n", 810 | "step 8\n", 811 | "step 9\n", 812 | "step 10\n", 813 | "step 11\n", 814 | "step 12\n", 815 | "step 13\n", 816 | "step 14\n", 817 | "step 15\n", 818 | "step 16\n", 819 | "step 17\n", 820 | "step 18\n", 821 | "step 19\n", 822 | "step 20\n", 823 | "step 21\n", 824 | "step 22\n", 825 | "step 23\n", 826 | "step 24\n", 827 | "step 25\n", 828 | "step 26\n", 829 | "step 27\n", 830 | "step 28\n", 831 | "step 29\n", 832 | "step 30\n", 833 | "step 31\n", 834 | "step 32\n", 835 | "step 33\n", 836 | "step 34\n", 837 | "step 35\n", 838 | "step 36\n", 839 | "step 37\n", 840 | "step 38\n", 841 | "step 39\n", 842 | "step 40\n", 843 | "step 41\n", 844 | "step 42\n", 845 | "step 43\n", 846 | "step 44\n", 847 | "step 45\n", 848 | "step 46\n", 849 | "step 47\n", 850 | "step 48\n", 851 | "step 49\n", 852 | "step 50\n", 853 | "step 51\n", 854 | "step 52\n", 855 | "step 53\n", 856 | "step 54\n", 857 | "step 55\n", 858 | "step 56\n", 859 | "step 57\n", 860 | "step 58\n", 861 | "step 59\n", 862 | "step 60\n", 863 | "step 61\n", 864 | "step 62\n", 865 | "step 63\n", 866 | "step 64\n", 867 | "step 65\n", 868 | "step 66\n", 869 | "step 67\n", 870 | "step 68\n", 871 | "step 69\n", 872 | "step 70\n", 873 | "step 71\n", 874 | "step 72\n", 875 | "step 73\n", 876 | "step 74\n", 877 | "step 75\n", 878 | "step 76\n", 879 | "step 77\n", 880 | "step 78\n", 881 | "step 79\n", 882 | "step 80\n", 883 | "step 81\n", 884 | "step 82\n", 885 | "step 83\n", 886 | "step 84\n", 887 | "step 85\n", 888 | "step 86\n", 889 | "step 87\n", 890 | "step 88\n", 891 | "step 89\n", 892 | "step 90\n", 893 | "step 91\n", 894 | "step 92\n", 895 | "step 93\n", 896 | "step 94\n", 897 | "step 95\n", 898 | "step 96\n", 899 | "step 97\n", 900 | "step 98\n", 901 | "step 99\n", 902 | "step 100\n", 903 | "step 101\n", 904 | "step 102\n", 905 | "step 103\n", 906 | "step 104\n", 907 | "step 105\n", 908 | "step 106\n", 909 | "step 107\n", 910 | "step 108\n", 911 | "step 109\n", 912 | "step 110\n", 913 | "step 111\n", 914 | "step 112\n", 915 | "step 113\n", 916 | "step 114\n", 917 | "step 115\n", 918 | "step 116\n", 919 | "step 117\n", 920 | "step 118\n", 921 | "step 119\n", 922 | "step 120\n", 923 | "step 121\n", 924 | "step 122\n", 925 | "step 123\n", 926 | "step 124\n", 927 | "step 125\n", 928 | "step 126\n", 929 | "step 127\n", 930 | "step 128\n", 931 | "step 129\n", 932 | "step 130\n", 933 | "step 131\n", 934 | "step 132\n", 935 | "step 133\n", 936 | "step 134\n", 937 | "step 135\n", 938 | "step 136\n", 939 | "step 137\n", 940 | "step 138\n", 941 | "step 139\n", 942 | "step 140\n", 943 | "step 141\n", 944 | "step 142\n", 945 | "step 143\n", 946 | "step 144\n", 947 | "step 145\n", 948 | "step 146\n", 949 | "step 147\n", 950 | "step 148\n", 951 | "step 149\n", 952 | "step 150\n", 953 | "step 151\n", 954 | "step 152\n", 955 | "step 153\n", 956 | "step 154\n", 957 | "step 155\n", 958 | "step 156\n", 959 | "step 157\n", 960 | "step 158\n", 961 | "step 159\n", 962 | "step 160\n", 963 | "step 161\n", 964 | "step 162\n", 965 | "step 163\n", 966 | "step 164\n", 967 | "step 165\n", 968 | "step 166\n", 969 | "step 167\n", 970 | "step 168\n", 971 | "step 169\n", 972 | "step 170\n", 973 | "step 171\n", 974 | "step 172\n", 975 | "step 173\n", 976 | "step 174\n", 977 | "step 175\n", 978 | "step 176\n", 979 | "step 177\n", 980 | "step 178\n", 981 | "step 179\n", 982 | "step 180\n", 983 | "step 181\n", 984 | "step 182\n", 985 | "step 183\n", 986 | "step 184\n", 987 | "step 185\n", 988 | "step 186\n", 989 | "step 187\n", 990 | "step 188\n", 991 | "step 189\n", 992 | "step 190\n", 993 | "step 191\n", 994 | "step 192\n", 995 | "step 193\n", 996 | "step 194\n", 997 | "step 195\n", 998 | "step 196\n", 999 | "step 197\n", 1000 | "step 198\n", 1001 | "step 199\n", 1002 | "step 200\n", 1003 | "step 201\n", 1004 | "step 202\n", 1005 | "step 203\n", 1006 | "step 204\n", 1007 | "step 205\n", 1008 | "step 206\n", 1009 | "step 207\n", 1010 | "step 208\n", 1011 | "step 209\n", 1012 | "step 210\n", 1013 | "step 211\n", 1014 | "step 212\n", 1015 | "step 213\n", 1016 | "step 214\n", 1017 | "step 215\n", 1018 | "step 216\n", 1019 | "step 217\n", 1020 | "step 218\n", 1021 | "step 219\n", 1022 | "step 220\n", 1023 | "step 221\n", 1024 | "step 222\n", 1025 | "step 223\n", 1026 | "step 224\n", 1027 | "step 225\n", 1028 | "step 226\n", 1029 | "step 227\n", 1030 | "step 228\n", 1031 | "step 229\n", 1032 | "step 230\n", 1033 | "step 231\n", 1034 | "step 232\n", 1035 | "step 233\n", 1036 | "step 234\n", 1037 | "step 235\n", 1038 | "step 236\n", 1039 | "step 237\n", 1040 | "step 238\n", 1041 | "step 239\n", 1042 | "step 240\n", 1043 | "step 241\n", 1044 | "step 242\n", 1045 | "step 243\n", 1046 | "step 244\n", 1047 | "step 245\n", 1048 | "step 246\n", 1049 | "step 247\n", 1050 | "step 248\n", 1051 | "step 249\n", 1052 | "step 250\n", 1053 | "step 251\n", 1054 | "step 252\n", 1055 | "step 253\n", 1056 | "step 254\n", 1057 | "step 255\n", 1058 | "step 256\n", 1059 | "step 257\n", 1060 | "step 258\n", 1061 | "step 259\n", 1062 | "step 260\n", 1063 | "step 261\n", 1064 | "step 262\n", 1065 | "step 263\n", 1066 | "step 264\n", 1067 | "step 265\n", 1068 | "step 266\n", 1069 | "step 267\n", 1070 | "step 268\n", 1071 | "step 269\n", 1072 | "step 270\n", 1073 | "step 271\n", 1074 | "step 272\n", 1075 | "step 273\n", 1076 | "step 274\n", 1077 | "step 275\n", 1078 | "step 276\n", 1079 | "step 277\n", 1080 | "step 278\n", 1081 | "step 279\n", 1082 | "step 280\n", 1083 | "step 281\n", 1084 | "step 282\n", 1085 | "step 283\n", 1086 | "step 284\n", 1087 | "step 285\n", 1088 | "step 286\n", 1089 | "step 287\n", 1090 | "step 288\n", 1091 | "step 289\n", 1092 | "step 290\n", 1093 | "step 291\n", 1094 | "step 292\n", 1095 | "step 293\n", 1096 | "step 294\n", 1097 | "step 295\n", 1098 | "step 296\n", 1099 | "step 297\n", 1100 | "step 298\n", 1101 | "step 299\n", 1102 | "step 300\n", 1103 | "step 301\n", 1104 | "step 302\n", 1105 | "step 303\n", 1106 | "step 304\n", 1107 | "step 305\n", 1108 | "step 306\n", 1109 | "step 307\n", 1110 | "step 308\n", 1111 | "step 309\n", 1112 | "step 310\n", 1113 | "step 311\n", 1114 | "step 312\n", 1115 | "step 313\n", 1116 | "step 314\n", 1117 | "step 315\n", 1118 | "step 316\n", 1119 | "step 317\n", 1120 | "step 318\n", 1121 | "step 319\n", 1122 | "step 320\n", 1123 | "step 321\n", 1124 | "step 322\n", 1125 | "step 323\n", 1126 | "step 324\n", 1127 | "step 325\n", 1128 | "step 326\n", 1129 | "step 327\n", 1130 | "step 328\n", 1131 | "step 329\n", 1132 | "step 330\n", 1133 | "step 331\n", 1134 | "step 332\n", 1135 | "step 333\n", 1136 | "step 334\n", 1137 | "step 335\n", 1138 | "step 336\n", 1139 | "step 337\n", 1140 | "step 338\n", 1141 | "step 339\n", 1142 | "step 340\n", 1143 | "step 341\n", 1144 | "step 342\n", 1145 | "step 343\n", 1146 | "step 344\n", 1147 | "step 345\n", 1148 | "step 346\n", 1149 | "step 347\n", 1150 | "step 348\n", 1151 | "step 349\n", 1152 | "step 350\n", 1153 | "step 351\n", 1154 | "step 352\n", 1155 | "step 353\n", 1156 | "step 354\n", 1157 | "step 355\n", 1158 | "step 356\n", 1159 | "step 357\n", 1160 | "step 358\n", 1161 | "step 359\n", 1162 | "step 360\n", 1163 | "step 361\n", 1164 | "step 362\n", 1165 | "step 363\n", 1166 | "step 364\n", 1167 | "step 365\n", 1168 | "step 366\n", 1169 | "step 367\n", 1170 | "step 368\n", 1171 | "step 369\n", 1172 | "step 370\n", 1173 | "step 371\n", 1174 | "step 372\n", 1175 | "step 373\n", 1176 | "step 374\n", 1177 | "step 375\n", 1178 | "step 376\n", 1179 | "step 377\n", 1180 | "step 378\n", 1181 | "step 379\n", 1182 | "step 380\n", 1183 | "step 381\n", 1184 | "step 382\n", 1185 | "step 383\n", 1186 | "step 384\n", 1187 | "step 385\n", 1188 | "step 386\n", 1189 | "step 387\n", 1190 | "step 388\n", 1191 | "step 389\n", 1192 | "step 390\n", 1193 | "step 391\n", 1194 | "step 392\n", 1195 | "step 393\n", 1196 | "step 394\n", 1197 | "step 395\n", 1198 | "step 396\n", 1199 | "step 397\n", 1200 | "step 398\n", 1201 | "step 399\n", 1202 | "step 400\n", 1203 | "step 401\n", 1204 | "step 402\n", 1205 | "step 403\n", 1206 | "step 404\n", 1207 | "step 405\n", 1208 | "step 406\n", 1209 | "step 407\n", 1210 | "step 408\n", 1211 | "step 409\n", 1212 | "step 410\n", 1213 | "step 411\n", 1214 | "step 412\n", 1215 | "step 413\n", 1216 | "step 414\n", 1217 | "step 415\n", 1218 | "step 416\n", 1219 | "step 417\n", 1220 | "step 418\n", 1221 | "step 419\n", 1222 | "step 420\n", 1223 | "step 421\n", 1224 | "step 422\n", 1225 | "step 423\n", 1226 | "step 424\n", 1227 | "step 425\n", 1228 | "step 426\n", 1229 | "step 427\n", 1230 | "step 428\n", 1231 | "step 429\n", 1232 | "step 430\n", 1233 | "step 431\n", 1234 | "step 432\n", 1235 | "step 433\n", 1236 | "step 434\n", 1237 | "step 435\n", 1238 | "step 436\n", 1239 | "step 437\n", 1240 | "step 438\n", 1241 | "step 439\n", 1242 | "step 440\n", 1243 | "step 441\n", 1244 | "step 442\n", 1245 | "step 443\n", 1246 | "step 444\n", 1247 | "step 445\n", 1248 | "step 446\n", 1249 | "step 447\n", 1250 | "step 448\n", 1251 | "step 449\n", 1252 | "step 450\n", 1253 | "step 451\n", 1254 | "step 452\n", 1255 | "step 453\n", 1256 | "step 454\n", 1257 | "step 455\n", 1258 | "step 456\n", 1259 | "step 457\n", 1260 | "step 458\n", 1261 | "step 459\n", 1262 | "step 460\n", 1263 | "step 461\n", 1264 | "step 462\n", 1265 | "step 463\n", 1266 | "step 464\n", 1267 | "step 465\n", 1268 | "step 466\n", 1269 | "step 467\n", 1270 | "step 468\n", 1271 | "step 469\n", 1272 | "step 470\n", 1273 | "step 471\n", 1274 | "step 472\n", 1275 | "step 473\n", 1276 | "step 474\n", 1277 | "step 475\n", 1278 | "step 476\n", 1279 | "step 477\n", 1280 | "step 478\n", 1281 | "step 479\n", 1282 | "step 480\n", 1283 | "step 481\n", 1284 | "step 482\n", 1285 | "step 483\n", 1286 | "step 484\n", 1287 | "step 485\n", 1288 | "step 486\n", 1289 | "step 487\n", 1290 | "step 488\n", 1291 | "step 489\n", 1292 | "step 490\n", 1293 | "step 491\n", 1294 | "step 492\n", 1295 | "step 493\n", 1296 | "step 494\n", 1297 | "step 495\n", 1298 | "step 496\n", 1299 | "step 497\n", 1300 | "step 498\n", 1301 | "step 499\n", 1302 | "step 500\n", 1303 | "step 501\n", 1304 | "step 502\n", 1305 | "step 503\n", 1306 | "step 504\n", 1307 | "step 505\n", 1308 | "step 506\n", 1309 | "step 507\n", 1310 | "step 508\n", 1311 | "step 509\n", 1312 | "step 510\n", 1313 | "step 511\n", 1314 | "step 512\n", 1315 | "step 513\n", 1316 | "step 514\n", 1317 | "step 515\n", 1318 | "step 516\n", 1319 | "step 517\n", 1320 | "step 518\n", 1321 | "step 519\n", 1322 | "step 520\n", 1323 | "step 521\n", 1324 | "step 522\n", 1325 | "step 523\n", 1326 | "step 524\n", 1327 | "step 525\n", 1328 | "step 526\n", 1329 | "step 527\n", 1330 | "step 528\n", 1331 | "step 529\n", 1332 | "step 530\n", 1333 | "step 531\n", 1334 | "step 532\n", 1335 | "step 533\n", 1336 | "step 534\n", 1337 | "step 535\n", 1338 | "step 536\n", 1339 | "step 537\n", 1340 | "step 538\n", 1341 | "step 539\n", 1342 | "step 540\n", 1343 | "step 541\n", 1344 | "step 542\n", 1345 | "step 543\n", 1346 | "step 544\n", 1347 | "step 545\n", 1348 | "step 546\n", 1349 | "step 547\n", 1350 | "step 548\n", 1351 | "step 549\n", 1352 | "step 550\n", 1353 | "step 551\n", 1354 | "step 552\n", 1355 | "step 553\n", 1356 | "step 554\n", 1357 | "step 555\n", 1358 | "step 556\n", 1359 | "step 557\n", 1360 | "step 558\n", 1361 | "step 559\n", 1362 | "step 560\n", 1363 | "step 561\n", 1364 | "step 562\n", 1365 | "step 563\n", 1366 | "step 564\n", 1367 | "step 565\n", 1368 | "step 566\n", 1369 | "step 567\n", 1370 | "step 568\n", 1371 | "step 569\n", 1372 | "step 570\n", 1373 | "step 571\n", 1374 | "step 572\n", 1375 | "step 573\n", 1376 | "step 574\n", 1377 | "step 575\n", 1378 | "step 576\n", 1379 | "step 577\n", 1380 | "step 578\n", 1381 | "step 579\n", 1382 | "step 580\n", 1383 | "step 581\n", 1384 | "step 582\n", 1385 | "step 583\n", 1386 | "step 584\n", 1387 | "step 585\n", 1388 | "step 586\n", 1389 | "step 587\n", 1390 | "step 588\n", 1391 | "step 589\n", 1392 | "step 590\n", 1393 | "step 591\n", 1394 | "step 592\n", 1395 | "step 593\n", 1396 | "step 594\n", 1397 | "step 595\n", 1398 | "step 596\n", 1399 | "step 597\n", 1400 | "step 598\n", 1401 | "step 599\n", 1402 | "step 600\n", 1403 | "step 601\n", 1404 | "step 602\n", 1405 | "step 603\n", 1406 | "step 604\n", 1407 | "step 605\n", 1408 | "step 606\n", 1409 | "step 607\n", 1410 | "step 608\n", 1411 | "step 609\n", 1412 | "step 610\n", 1413 | "step 611\n", 1414 | "step 612\n", 1415 | "step 613\n", 1416 | "step 614\n", 1417 | "step 615\n", 1418 | "step 616\n", 1419 | "step 617\n", 1420 | "step 618\n", 1421 | "step 619\n", 1422 | "step 620\n", 1423 | "step 621\n", 1424 | "step 622\n", 1425 | "step 623\n", 1426 | "step 624\n", 1427 | "step 625\n", 1428 | "step 626\n", 1429 | "step 627\n", 1430 | "step 628\n", 1431 | "step 629\n", 1432 | "step 630\n", 1433 | "step 631\n", 1434 | "step 632\n", 1435 | "step 633\n", 1436 | "step 634\n", 1437 | "step 635\n", 1438 | "step 636\n", 1439 | "step 637\n", 1440 | "step 638\n", 1441 | "step 639\n", 1442 | "step 640\n", 1443 | "step 641\n", 1444 | "step 642\n", 1445 | "step 643\n", 1446 | "step 644\n", 1447 | "step 645\n", 1448 | "step 646\n", 1449 | "step 647\n", 1450 | "step 648\n" 1451 | ] 1452 | } 1453 | ], 1454 | "source": [ 1455 | "finetuned_validity_list = []\n", 1456 | "for i in range(len(paligemma2_finetuned_results)):\n", 1457 | " print(f\"step {i}\")\n", 1458 | " message = client.messages.create(\n", 1459 | " model=\"claude-3-5-sonnet-20241022\",\n", 1460 | " max_tokens=200,\n", 1461 | " temperature=0,\n", 1462 | " messages=[\n", 1463 | " {\n", 1464 | " \"role\": \"user\",\n", 1465 | " \"content\": [\n", 1466 | " {\n", 1467 | " \"type\": \"text\",\n", 1468 | " \"text\": get_prompt(\n", 1469 | " query=paligemma2_finetuned_results.iloc[i][\"prompt\"], \n", 1470 | " answer=paligemma2_finetuned_results.iloc[i][\"true_answer\"], \n", 1471 | " generated_answer=paligemma2_finetuned_results.iloc[i][\"result\"])\n", 1472 | " }\n", 1473 | " ]\n", 1474 | " }\n", 1475 | " ]\n", 1476 | " )\n", 1477 | " finetuned_validity_list.append(message.content[0].text)" 1478 | ] 1479 | }, 1480 | { 1481 | "cell_type": "code", 1482 | "execution_count": 14, 1483 | "metadata": {}, 1484 | "outputs": [ 1485 | { 1486 | "name": "stdout", 1487 | "output_type": "stream", 1488 | "text": [ 1489 | "Percent right: 18.18%\n" 1490 | ] 1491 | } 1492 | ], 1493 | "source": [ 1494 | "paligemma2_finetuned_results[\"validity\"] = finetuned_validity_list\n", 1495 | "print(f\"Percent right: {round(len(paligemma2_finetuned_results[paligemma2_finetuned_results[\"validity\"] == \"yes\"]) / len(paligemma2_finetuned_results) * 100, 2)}%\")" 1496 | ] 1497 | }, 1498 | { 1499 | "cell_type": "code", 1500 | "execution_count": null, 1501 | "metadata": {}, 1502 | "outputs": [], 1503 | "source": [] 1504 | } 1505 | ], 1506 | "metadata": { 1507 | "kernelspec": { 1508 | "display_name": "Python 3", 1509 | "language": "python", 1510 | "name": "python3" 1511 | }, 1512 | "language_info": { 1513 | "codemirror_mode": { 1514 | "name": "ipython", 1515 | "version": 3 1516 | }, 1517 | "file_extension": ".py", 1518 | "mimetype": "text/x-python", 1519 | "name": "python", 1520 | "nbconvert_exporter": "python", 1521 | "pygments_lexer": "ipython3", 1522 | "version": "3.12.4" 1523 | } 1524 | }, 1525 | "nbformat": 4, 1526 | "nbformat_minor": 2 1527 | } 1528 | -------------------------------------------------------------------------------- /finetuning.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import json 3 | from PIL import Image 4 | from datasets import Dataset 5 | from transformers import PaliGemmaProcessor, PaliGemmaForConditionalGeneration, TrainingArguments, Trainer, BitsAndBytesConfig 6 | from peft import get_peft_model, LoraConfig 7 | from dotenv import load_dotenv 8 | 9 | load_dotenv() 10 | model_id = "google/paligemma2-3b-pt-448" 11 | bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_compute_dtype=torch.bfloat16) 12 | 13 | lora_config = LoraConfig( 14 | r=8, 15 | target_modules=["q_proj", "o_proj", "k_proj", "v_proj", "gate_proj", "up_proj", "down_proj"], 16 | task_type="CAUSAL_LM", 17 | ) 18 | 19 | device = "cuda" 20 | model = PaliGemmaForConditionalGeneration.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16, attn_implementation="eager").to(device) #quantization_config=bnb_config) 21 | #model = get_peft_model(model, lora_config) 22 | #model.print_trainable_parameters() 23 | processor = PaliGemmaProcessor.from_pretrained(model_id) 24 | image_token = processor.tokenizer.convert_tokens_to_ids("") 25 | 26 | def collate_fn(examples): 27 | texts = ["" + example["prefixes"] + "" for example in examples] 28 | labels = [example['suffixes'] + "" for example in examples] 29 | processed_images = [] 30 | for example in examples: 31 | image = Image.open(f"{example['images']}").convert("RGB") 32 | processed_images.append(image) 33 | tokens = processor(text=texts, images=processed_images, suffix=labels, 34 | return_tensors="pt", padding="longest") 35 | for img in processed_images: 36 | img.close() 37 | processed_images = [] 38 | tokens = tokens.to(torch.bfloat16).to(device) 39 | torch.cuda.empty_cache() 40 | return tokens 41 | 42 | #for param in model.vision_tower.parameters(): 43 | # param.requires_grad = False 44 | 45 | #for param in model.multi_modal_projector.parameters(): 46 | # param.requires_grad = False 47 | 48 | args = TrainingArguments( 49 | num_train_epochs=10, 50 | remove_unused_columns=False, 51 | per_device_train_batch_size=1, 52 | gradient_accumulation_steps=4, 53 | warmup_steps=2, 54 | learning_rate=2e-5, 55 | weight_decay=1e-6, 56 | adam_beta2=0.999, 57 | logging_steps=100, 58 | optim="adamw_hf", 59 | save_strategy="steps", 60 | save_steps=1000, 61 | push_to_hub=True, 62 | save_total_limit=1, 63 | output_dir="paligemma2_thinking_v2", 64 | bf16=True, 65 | report_to=["tensorboard"], 66 | dataloader_pin_memory=False 67 | ) 68 | 69 | train_ds = Dataset.from_dict(json.load(open("training_data/truncated_training_dict_v2.json"))) 70 | 71 | trainer = Trainer( 72 | model=model, 73 | train_dataset=train_ds, 74 | data_collator=collate_fn, 75 | args=args 76 | ) 77 | 78 | trainer.train() 79 | trainer.push_to_hub() -------------------------------------------------------------------------------- /finetuning_smol.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import json 3 | from transformers import Idefics3ForConditionalGeneration, AutoProcessor 4 | from dotenv import load_dotenv 5 | from datasets import Dataset 6 | from PIL import Image 7 | from peft import LoraConfig, get_peft_model 8 | from trl import SFTConfig, SFTTrainer 9 | 10 | load_dotenv() 11 | model_id = "HuggingFaceTB/SmolVLM-Instruct" 12 | model = Idefics3ForConditionalGeneration.from_pretrained( 13 | model_id, 14 | device_map="auto", 15 | torch_dtype=torch.bfloat16, 16 | _attn_implementation="flash_attention_2", 17 | ) 18 | 19 | processor = AutoProcessor.from_pretrained(model_id) 20 | 21 | system_message = """You are a Vision Language Model specialized in handling mathematical questions with reasoning 22 | Your task is, given a question that requires thinking, to give the right answer to it.""" 23 | 24 | def format_data(sample): 25 | return [ 26 | { 27 | "role": "system", 28 | "content": [ 29 | { 30 | "type": "text", 31 | "text": system_message 32 | } 33 | ], 34 | }, 35 | { 36 | "role": "user", 37 | "content": [ 38 | { 39 | "type": "image", 40 | "image": sample["images"], 41 | }, 42 | { 43 | "type": "text", 44 | "text": sample['prefixes'], 45 | } 46 | ], 47 | }, 48 | { 49 | "role": "assistant", 50 | "content": [ 51 | { 52 | "type": "text", 53 | "text": sample["suffixes"] 54 | } 55 | ], 56 | }, 57 | ] 58 | 59 | train_ds = Dataset.from_dict(json.load(open("training_data/training_dict.json"))) 60 | train_dataset = [format_data(sample) for sample in train_ds] 61 | 62 | # Configure LoRA 63 | peft_config = LoraConfig( 64 | r=32, 65 | lora_alpha=8, 66 | lora_dropout=0.1, 67 | target_modules=['down_proj','o_proj','k_proj','q_proj','gate_proj','up_proj','v_proj'], 68 | use_dora=True, 69 | init_lora_weights="gaussian" 70 | ) 71 | 72 | # Apply PEFT model adaptation 73 | peft_model = get_peft_model(model, peft_config) 74 | 75 | # Print trainable parameters 76 | peft_model.print_trainable_parameters() 77 | 78 | 79 | # Configure training arguments using SFTConfig 80 | training_args = SFTConfig( 81 | output_dir="smolvlm-instruct-thinking-v2", 82 | num_train_epochs=10, 83 | per_device_train_batch_size=4, 84 | gradient_accumulation_steps=4, 85 | warmup_steps=2, 86 | learning_rate=2e-5, 87 | weight_decay=1e-6, 88 | logging_steps=25, 89 | save_strategy="steps", 90 | save_steps=25, 91 | save_total_limit=1, 92 | optim="adamw_torch_fused", 93 | bf16=True, 94 | push_to_hub=True, 95 | report_to="tensorboard", 96 | remove_unused_columns=False, 97 | gradient_checkpointing=True, 98 | dataset_text_field="", 99 | dataset_kwargs={"skip_prepare_dataset": True}, 100 | ) 101 | 102 | image_token_id = processor.tokenizer.additional_special_tokens_ids[ 103 | processor.tokenizer.additional_special_tokens.index("")] 104 | 105 | def collate_fn(examples): 106 | texts = [processor.apply_chat_template(example, tokenize=False) for example in examples] 107 | image_inputs = [] 108 | for example in examples: 109 | image = Image.open(example[1]['content'][0]['image']) 110 | if image.mode != 'RGB': 111 | image = image.convert('RGB') 112 | image_inputs.append([image]) 113 | 114 | batch = processor(text=texts, images=image_inputs, return_tensors="pt", padding=True) 115 | labels = batch["input_ids"].clone() 116 | labels[labels == processor.tokenizer.pad_token_id] = -100 # Mask padding tokens in labels 117 | labels[labels == image_token_id] = -100 # Mask image token IDs in labels 118 | 119 | batch["labels"] = labels 120 | 121 | return batch 122 | 123 | 124 | trainer = SFTTrainer( 125 | model=model, 126 | args=training_args, 127 | train_dataset=train_dataset, 128 | data_collator=collate_fn, 129 | peft_config=peft_config, 130 | tokenizer=processor.tokenizer, 131 | ) 132 | 133 | trainer.train() 134 | trainer.save_model(training_args.output_dir) 135 | trainer.push_to_hub() -------------------------------------------------------------------------------- /formatting_training_dataset.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stderr", 10 | "output_type": "stream", 11 | "text": [ 12 | "c:\\Users\\axeld\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", 13 | " from .autonotebook import tqdm as notebook_tqdm\n" 14 | ] 15 | } 16 | ], 17 | "source": [ 18 | "import anthropic\n", 19 | "from datasets import load_dataset\n", 20 | "\n", 21 | "client = anthropic.Anthropic()\n", 22 | "dataset = load_dataset(\"AI4Math/MathVista\")" 23 | ] 24 | }, 25 | { 26 | "cell_type": "markdown", 27 | "metadata": {}, 28 | "source": [ 29 | "# Saving answers which are right" 30 | ] 31 | }, 32 | { 33 | "cell_type": "code", 34 | "execution_count": 11, 35 | "metadata": {}, 36 | "outputs": [], 37 | "source": [ 38 | "def get_prompt(query:str, answer:str, generated_answer:str) -> str:\n", 39 | " prompt = \"\"\"Given following MathVista query, answer and generated answer, output \"yes\" or \"no\" regarding whether the generated answer is correct.\n", 40 | " Query: {query} \n", 41 | " Answer: {answer} \n", 42 | " Generated Answer: {generated_answer} \n", 43 | "\n", 44 | " Output only \"yes\" or \"no\" regarding correctness of the generated answer.\n", 45 | " Output:\"\"\".format(query=query, answer=answer, generated_answer=generated_answer)\n", 46 | " return prompt" 47 | ] 48 | }, 49 | { 50 | "cell_type": "code", 51 | "execution_count": 12, 52 | "metadata": {}, 53 | "outputs": [ 54 | { 55 | "name": "stdout", 56 | "output_type": "stream", 57 | "text": [ 58 | "questions Hint: Please answer the question requiring a f...\n", 59 | "thoughts The problem describes a scenario where a canis...\n", 60 | "generated_answers Solution:\\nThe initial kinetic energy of the c...\n", 61 | "true_answers 1.2\n", 62 | "indexes 0\n", 63 | "Name: 0, dtype: object\n" 64 | ] 65 | } 66 | ], 67 | "source": [ 68 | "import pandas as pd\n", 69 | "\n", 70 | "df = pd.read_csv(\"training_data/training_v2.csv\")\n", 71 | "print(df.iloc[0])" 72 | ] 73 | }, 74 | { 75 | "cell_type": "code", 76 | "execution_count": 19, 77 | "metadata": {}, 78 | "outputs": [ 79 | { 80 | "name": "stdout", 81 | "output_type": "stream", 82 | "text": [ 83 | "step 0\n", 84 | "step 1\n", 85 | "step 2\n", 86 | "step 3\n", 87 | "step 4\n", 88 | "step 5\n", 89 | "step 6\n", 90 | "step 7\n", 91 | "step 8\n", 92 | "step 9\n", 93 | "step 10\n", 94 | "step 11\n", 95 | "step 12\n", 96 | "step 13\n", 97 | "step 14\n", 98 | "step 15\n", 99 | "step 16\n", 100 | "step 17\n", 101 | "step 18\n", 102 | "step 19\n", 103 | "step 20\n", 104 | "step 21\n", 105 | "step 22\n", 106 | "step 23\n", 107 | "step 24\n", 108 | "step 25\n", 109 | "step 26\n", 110 | "step 27\n", 111 | "step 28\n", 112 | "step 29\n", 113 | "step 30\n", 114 | "step 31\n", 115 | "step 32\n", 116 | "step 33\n", 117 | "step 34\n", 118 | "step 35\n", 119 | "step 36\n", 120 | "step 37\n", 121 | "step 38\n", 122 | "step 39\n", 123 | "step 40\n", 124 | "step 41\n", 125 | "step 42\n", 126 | "step 43\n", 127 | "step 44\n", 128 | "step 45\n", 129 | "step 46\n", 130 | "step 47\n", 131 | "step 48\n", 132 | "step 49\n", 133 | "step 50\n", 134 | "step 51\n", 135 | "step 52\n", 136 | "step 53\n", 137 | "step 54\n", 138 | "step 55\n", 139 | "step 56\n", 140 | "step 57\n", 141 | "step 58\n", 142 | "step 59\n", 143 | "step 60\n", 144 | "step 61\n", 145 | "step 62\n", 146 | "step 63\n", 147 | "step 64\n", 148 | "step 65\n", 149 | "step 66\n", 150 | "step 67\n", 151 | "step 68\n", 152 | "step 69\n", 153 | "step 70\n", 154 | "step 71\n", 155 | "step 72\n", 156 | "step 73\n", 157 | "step 74\n", 158 | "step 75\n", 159 | "step 76\n", 160 | "step 77\n", 161 | "step 78\n", 162 | "step 79\n", 163 | "step 80\n", 164 | "step 81\n", 165 | "step 82\n", 166 | "step 83\n", 167 | "step 84\n", 168 | "step 85\n", 169 | "step 86\n", 170 | "step 87\n", 171 | "step 88\n", 172 | "step 89\n", 173 | "step 90\n", 174 | "step 91\n", 175 | "step 92\n", 176 | "step 93\n", 177 | "step 94\n", 178 | "step 95\n", 179 | "step 96\n", 180 | "step 97\n", 181 | "step 98\n", 182 | "step 99\n", 183 | "step 100\n", 184 | "step 101\n", 185 | "step 102\n", 186 | "step 103\n", 187 | "step 104\n", 188 | "step 105\n", 189 | "step 106\n", 190 | "step 107\n", 191 | "step 108\n", 192 | "step 109\n", 193 | "step 110\n", 194 | "step 111\n", 195 | "step 112\n", 196 | "step 113\n", 197 | "step 114\n", 198 | "step 115\n", 199 | "step 116\n", 200 | "step 117\n", 201 | "step 118\n", 202 | "step 119\n", 203 | "step 120\n", 204 | "step 121\n", 205 | "step 122\n", 206 | "step 123\n", 207 | "step 124\n", 208 | "step 125\n", 209 | "step 126\n", 210 | "step 127\n", 211 | "step 128\n", 212 | "step 129\n", 213 | "step 130\n", 214 | "step 131\n", 215 | "step 132\n", 216 | "step 133\n", 217 | "step 134\n", 218 | "step 135\n", 219 | "step 136\n", 220 | "step 137\n", 221 | "step 138\n", 222 | "step 139\n", 223 | "step 140\n", 224 | "step 141\n", 225 | "step 142\n", 226 | "step 143\n", 227 | "step 144\n", 228 | "step 145\n", 229 | "step 146\n", 230 | "step 147\n", 231 | "step 148\n", 232 | "step 149\n", 233 | "step 150\n", 234 | "step 151\n", 235 | "step 152\n", 236 | "step 153\n", 237 | "step 154\n", 238 | "step 155\n", 239 | "step 156\n", 240 | "step 157\n", 241 | "step 158\n", 242 | "step 159\n", 243 | "step 160\n", 244 | "step 161\n", 245 | "step 162\n", 246 | "step 163\n", 247 | "step 164\n", 248 | "step 165\n", 249 | "step 166\n", 250 | "step 167\n", 251 | "step 168\n", 252 | "step 169\n", 253 | "step 170\n", 254 | "step 171\n", 255 | "step 172\n", 256 | "step 173\n", 257 | "step 174\n", 258 | "step 175\n", 259 | "step 176\n", 260 | "step 177\n", 261 | "step 178\n", 262 | "step 179\n", 263 | "step 180\n", 264 | "step 181\n", 265 | "step 182\n", 266 | "step 183\n", 267 | "step 184\n", 268 | "step 185\n", 269 | "step 186\n", 270 | "step 187\n", 271 | "step 188\n", 272 | "step 189\n", 273 | "step 190\n", 274 | "step 191\n", 275 | "step 192\n", 276 | "step 193\n", 277 | "step 194\n", 278 | "step 195\n", 279 | "step 196\n", 280 | "step 197\n", 281 | "step 198\n", 282 | "step 199\n", 283 | "step 200\n", 284 | "step 201\n", 285 | "step 202\n", 286 | "step 203\n", 287 | "step 204\n", 288 | "step 205\n", 289 | "step 206\n", 290 | "step 207\n", 291 | "step 208\n", 292 | "step 209\n", 293 | "step 210\n", 294 | "step 211\n", 295 | "step 212\n", 296 | "step 213\n", 297 | "step 214\n", 298 | "step 215\n", 299 | "step 216\n", 300 | "step 217\n", 301 | "step 218\n", 302 | "step 219\n", 303 | "step 220\n", 304 | "step 221\n", 305 | "step 222\n", 306 | "step 223\n", 307 | "step 224\n", 308 | "step 225\n", 309 | "step 226\n", 310 | "step 227\n", 311 | "step 228\n", 312 | "step 229\n", 313 | "step 230\n", 314 | "step 231\n", 315 | "step 232\n", 316 | "step 233\n", 317 | "step 234\n", 318 | "step 235\n", 319 | "step 236\n", 320 | "step 237\n", 321 | "step 238\n", 322 | "step 239\n", 323 | "step 240\n", 324 | "step 241\n", 325 | "step 242\n", 326 | "step 243\n", 327 | "step 244\n", 328 | "step 245\n", 329 | "step 246\n", 330 | "step 247\n", 331 | "step 248\n", 332 | "step 249\n", 333 | "step 250\n", 334 | "step 251\n", 335 | "step 252\n", 336 | "step 253\n", 337 | "step 254\n", 338 | "step 255\n", 339 | "step 256\n", 340 | "step 257\n", 341 | "step 258\n", 342 | "step 259\n", 343 | "step 260\n", 344 | "step 261\n", 345 | "step 262\n", 346 | "step 263\n", 347 | "step 264\n", 348 | "step 265\n", 349 | "step 266\n", 350 | "step 267\n", 351 | "step 268\n", 352 | "step 269\n", 353 | "step 270\n", 354 | "step 271\n", 355 | "step 272\n", 356 | "step 273\n", 357 | "step 274\n", 358 | "step 275\n", 359 | "step 276\n", 360 | "step 277\n", 361 | "step 278\n", 362 | "step 279\n", 363 | "step 280\n", 364 | "step 281\n", 365 | "step 282\n", 366 | "step 283\n", 367 | "step 284\n", 368 | "step 285\n", 369 | "step 286\n", 370 | "step 287\n", 371 | "step 288\n", 372 | "step 289\n", 373 | "step 290\n", 374 | "step 291\n", 375 | "step 292\n", 376 | "step 293\n", 377 | "step 294\n", 378 | "step 295\n", 379 | "step 296\n", 380 | "step 297\n", 381 | "step 298\n", 382 | "step 299\n", 383 | "step 300\n", 384 | "step 301\n", 385 | "step 302\n", 386 | "step 303\n", 387 | "step 304\n", 388 | "step 305\n", 389 | "step 306\n", 390 | "step 307\n", 391 | "step 308\n", 392 | "step 309\n", 393 | "step 310\n", 394 | "step 311\n", 395 | "step 312\n", 396 | "step 313\n", 397 | "step 314\n", 398 | "step 315\n", 399 | "step 316\n", 400 | "step 317\n", 401 | "step 318\n", 402 | "step 319\n", 403 | "step 320\n", 404 | "step 321\n", 405 | "step 322\n", 406 | "step 323\n", 407 | "step 324\n", 408 | "step 325\n", 409 | "step 326\n", 410 | "step 327\n", 411 | "step 328\n", 412 | "step 329\n", 413 | "step 330\n", 414 | "step 331\n", 415 | "step 332\n", 416 | "step 333\n", 417 | "step 334\n", 418 | "step 335\n", 419 | "step 336\n", 420 | "step 337\n", 421 | "step 338\n", 422 | "step 339\n", 423 | "step 340\n", 424 | "step 341\n", 425 | "step 342\n", 426 | "step 343\n", 427 | "step 344\n" 428 | ] 429 | } 430 | ], 431 | "source": [ 432 | "validity_list = []\n", 433 | "for i in range(len(df)):\n", 434 | " print(f\"step {i}\")\n", 435 | " message = client.messages.create(\n", 436 | " model=\"claude-3-5-sonnet-20241022\",\n", 437 | " max_tokens=1000,\n", 438 | " temperature=0,\n", 439 | " messages=[\n", 440 | " {\n", 441 | " \"role\": \"user\",\n", 442 | " \"content\": [\n", 443 | " {\n", 444 | " \"type\": \"text\",\n", 445 | " \"text\": get_prompt(query=df.iloc[i][\"questions\"], answer=df.iloc[i][\"true_answers\"], generated_answer=df.iloc[i][\"generated_answers\"])\n", 446 | " }\n", 447 | " ]\n", 448 | " }\n", 449 | " ]\n", 450 | " )\n", 451 | " validity_list.append(message.content[0].text)" 452 | ] 453 | }, 454 | { 455 | "cell_type": "code", 456 | "execution_count": 20, 457 | "metadata": {}, 458 | "outputs": [ 459 | { 460 | "name": "stdout", 461 | "output_type": "stream", 462 | "text": [ 463 | "0.7275362318840579\n" 464 | ] 465 | } 466 | ], 467 | "source": [ 468 | "df[\"validity\"] = validity_list\n", 469 | "print(len(df[df[\"validity\"] == \"yes\"]) / len(df))" 470 | ] 471 | }, 472 | { 473 | "cell_type": "code", 474 | "execution_count": 21, 475 | "metadata": {}, 476 | "outputs": [], 477 | "source": [ 478 | "df[df[\"validity\"] == \"yes\"].to_csv(\"training_data/training_correct.csv\", index=False)" 479 | ] 480 | }, 481 | { 482 | "cell_type": "markdown", 483 | "metadata": {}, 484 | "source": [ 485 | "# Creating training dictionary from training csv" 486 | ] 487 | }, 488 | { 489 | "cell_type": "code", 490 | "execution_count": null, 491 | "metadata": {}, 492 | "outputs": [], 493 | "source": [ 494 | "df = pd.read_csv(\"training_data/training_correct.csv\")\n", 495 | "df.head()" 496 | ] 497 | }, 498 | { 499 | "cell_type": "code", 500 | "execution_count": null, 501 | "metadata": {}, 502 | "outputs": [], 503 | "source": [ 504 | "prefixes = df[\"questions\"].tolist()\n", 505 | "suffixes = (\"Thoughts:\\n\" +df[\"thoughts\"] + \"\\nAnswer:\\n\" + df[\"generated_answers\"]).tolist()\n", 506 | "image_paths = []\n", 507 | "for i in df.indexes.tolist():\n", 508 | " image = dataset[\"testmini\"][i]['decoded_image']\n", 509 | " image.save(f\"training_data/mathvista_images/{i}.png\")\n", 510 | " image_paths.append(f\"training_data/mathvista_images/{i}.png\")" 511 | ] 512 | }, 513 | { 514 | "cell_type": "code", 515 | "execution_count": null, 516 | "metadata": {}, 517 | "outputs": [], 518 | "source": [ 519 | "import json\n", 520 | "\n", 521 | "training_dict = {\"prefixes\": prefixes[:32], \"suffixes\": suffixes[:32], \"images\": image_paths[:32]}\n", 522 | "json.dump(training_dict, open(\"training_data/truncated_training_dict.json\", \"w\"))" 523 | ] 524 | }, 525 | { 526 | "cell_type": "code", 527 | "execution_count": null, 528 | "metadata": {}, 529 | "outputs": [], 530 | "source": [ 531 | "training_dict = {\"prefixes\": prefixes, \"suffixes\": suffixes, \"images\": image_paths}\n", 532 | "json.dump(training_dict, open(\"training_data/training_dict.json\", \"w\"))" 533 | ] 534 | } 535 | ], 536 | "metadata": { 537 | "kernelspec": { 538 | "display_name": "Python 3", 539 | "language": "python", 540 | "name": "python3" 541 | }, 542 | "language_info": { 543 | "codemirror_mode": { 544 | "name": "ipython", 545 | "version": 3 546 | }, 547 | "file_extension": ".py", 548 | "mimetype": "text/x-python", 549 | "name": "python", 550 | "nbconvert_exporter": "python", 551 | "pygments_lexer": "ipython3", 552 | "version": "3.12.4" 553 | } 554 | }, 555 | "nbformat": 4, 556 | "nbformat_minor": 2 557 | } 558 | -------------------------------------------------------------------------------- /generating_training_examples.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stderr", 10 | "output_type": "stream", 11 | "text": [ 12 | "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", 13 | " from .autonotebook import tqdm as notebook_tqdm\n" 14 | ] 15 | } 16 | ], 17 | "source": [ 18 | "from datasets import load_dataset\n", 19 | "from dotenv import load_dotenv\n", 20 | "from google import genai\n", 21 | "\n", 22 | "load_dotenv()\n", 23 | "dataset = load_dataset(\"AI4Math/MathVista\")" 24 | ] 25 | }, 26 | { 27 | "cell_type": "markdown", 28 | "metadata": {}, 29 | "source": [ 30 | "## Test query on Gemini 2 Flash Thinking" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 56, 36 | "metadata": {}, 37 | "outputs": [], 38 | "source": [ 39 | "client = genai.Client()\n", 40 | "\n", 41 | "response = client.models.generate_content(\n", 42 | " model='gemini-2.0-flash-thinking-exp', contents=[\n", 43 | " dataset[\"testmini\"][104][\"decoded_image\"],\n", 44 | " dataset[\"testmini\"][104][\"query\"]\n", 45 | " ]\n", 46 | ")" 47 | ] 48 | }, 49 | { 50 | "cell_type": "code", 51 | "execution_count": 57, 52 | "metadata": {}, 53 | "outputs": [ 54 | { 55 | "name": "stdout", 56 | "output_type": "stream", 57 | "text": [ 58 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\n", 59 | "Question: Does Dark Violet have the minimum area under the curve?\n", 60 | "Choices:\n", 61 | "(A) yes\n", 62 | "(B) no\n" 63 | ] 64 | } 65 | ], 66 | "source": [ 67 | "print(dataset[\"testmini\"][104][\"query\"])" 68 | ] 69 | }, 70 | { 71 | "cell_type": "code", 72 | "execution_count": 58, 73 | "metadata": {}, 74 | "outputs": [ 75 | { 76 | "name": "stdout", 77 | "output_type": "stream", 78 | "text": [ 79 | "The user is asking whether the \"Dark Violet\" line in the graph has the minimum area under the curve.\n", 80 | "To answer this, I need to visually inspect the graph and determine which line consistently has the lowest y-values across the x-axis. The area under the curve is related to the sum of the y-values for each x-value.\n", 81 | "\n", 82 | "From the graph, it's clear that the \"Dark Violet\" points are consistently at the lowest y-values compared to the other colors.\n" 83 | ] 84 | } 85 | ], 86 | "source": [ 87 | "print(response.candidates[0].content.parts[0].text)" 88 | ] 89 | }, 90 | { 91 | "cell_type": "code", 92 | "execution_count": 59, 93 | "metadata": {}, 94 | "outputs": [ 95 | { 96 | "name": "stdout", 97 | "output_type": "stream", 98 | "text": [ 99 | "Answer: (A)\n" 100 | ] 101 | } 102 | ], 103 | "source": [ 104 | "print(response.candidates[0].content.parts[1].text)" 105 | ] 106 | }, 107 | { 108 | "cell_type": "code", 109 | "execution_count": 60, 110 | "metadata": {}, 111 | "outputs": [ 112 | { 113 | "name": "stdout", 114 | "output_type": "stream", 115 | "text": [ 116 | "yes\n" 117 | ] 118 | } 119 | ], 120 | "source": [ 121 | "print(dataset[\"testmini\"][104][\"answer\"])" 122 | ] 123 | }, 124 | { 125 | "cell_type": "markdown", 126 | "metadata": {}, 127 | "source": [ 128 | "## Building Dataset on ~350 examples" 129 | ] 130 | }, 131 | { 132 | "cell_type": "code", 133 | "execution_count": 8, 134 | "metadata": {}, 135 | "outputs": [], 136 | "source": [ 137 | "import time\n", 138 | "import pandas as pd\n", 139 | "from google import genai\n", 140 | "\n", 141 | "questions = []\n", 142 | "thoughts = []\n", 143 | "generated_answers = []\n", 144 | "true_answers = []\n", 145 | "indexes = []" 146 | ] 147 | }, 148 | { 149 | "cell_type": "code", 150 | "execution_count": 9, 151 | "metadata": {}, 152 | "outputs": [ 153 | { 154 | "name": "stdout", 155 | "output_type": "stream", 156 | "text": [ 157 | "step 0\n", 158 | "step 1\n", 159 | "step 2\n", 160 | "step 3\n", 161 | "step 4\n", 162 | "step 5\n", 163 | "step 6\n", 164 | "step 7\n", 165 | "step 8\n", 166 | "Query issue\n", 167 | "step 9\n", 168 | "step 10\n", 169 | "step 11\n", 170 | "step 12\n", 171 | "step 13\n", 172 | "step 14\n", 173 | "step 15\n", 174 | "step 16\n", 175 | "Query issue\n", 176 | "step 17\n", 177 | "step 18\n", 178 | "step 19\n", 179 | "step 20\n", 180 | "step 21\n", 181 | "step 22\n", 182 | "step 23\n", 183 | "step 24\n", 184 | "step 25\n", 185 | "step 26\n", 186 | "step 27\n", 187 | "step 28\n", 188 | "step 29\n", 189 | "step 30\n", 190 | "step 31\n", 191 | "step 32\n", 192 | "step 33\n", 193 | "step 34\n", 194 | "step 35\n", 195 | "step 36\n", 196 | "step 37\n", 197 | "step 38\n", 198 | "step 39\n", 199 | "step 40\n", 200 | "step 41\n", 201 | "step 42\n", 202 | "step 43\n", 203 | "step 44\n", 204 | "step 45\n", 205 | "step 46\n", 206 | "step 47\n", 207 | "step 48\n", 208 | "step 49\n", 209 | "step 50\n", 210 | "step 51\n", 211 | "step 52\n", 212 | "step 53\n", 213 | "step 54\n", 214 | "step 55\n", 215 | "step 56\n", 216 | "step 57\n", 217 | "step 58\n", 218 | "step 59\n", 219 | "step 60\n", 220 | "step 61\n", 221 | "step 62\n", 222 | "step 63\n", 223 | "step 64\n", 224 | "step 65\n", 225 | "step 66\n", 226 | "step 67\n", 227 | "step 68\n", 228 | "step 69\n", 229 | "step 70\n", 230 | "step 71\n", 231 | "step 72\n", 232 | "step 73\n", 233 | "step 74\n", 234 | "step 75\n", 235 | "step 76\n", 236 | "step 77\n", 237 | "step 78\n", 238 | "step 79\n", 239 | "step 80\n", 240 | "step 81\n", 241 | "Query issue\n", 242 | "step 82\n", 243 | "step 83\n", 244 | "step 84\n", 245 | "step 85\n", 246 | "step 86\n", 247 | "step 87\n", 248 | "step 88\n", 249 | "step 89\n", 250 | "step 90\n", 251 | "step 91\n", 252 | "step 92\n", 253 | "step 93\n", 254 | "step 94\n", 255 | "step 95\n", 256 | "step 96\n", 257 | "step 97\n", 258 | "step 98\n", 259 | "step 99\n", 260 | "step 100\n", 261 | "step 101\n", 262 | "step 102\n", 263 | "step 103\n", 264 | "step 104\n", 265 | "step 105\n", 266 | "step 106\n", 267 | "step 107\n", 268 | "step 108\n", 269 | "step 109\n", 270 | "step 110\n", 271 | "step 111\n", 272 | "step 112\n", 273 | "step 113\n", 274 | "step 114\n", 275 | "step 115\n", 276 | "step 116\n", 277 | "step 117\n", 278 | "Flash issue\n", 279 | "step 118\n", 280 | "step 119\n", 281 | "step 120\n", 282 | "step 121\n", 283 | "step 122\n", 284 | "step 123\n", 285 | "step 124\n", 286 | "step 125\n", 287 | "step 126\n", 288 | "step 127\n", 289 | "step 128\n", 290 | "step 129\n", 291 | "step 130\n", 292 | "step 131\n", 293 | "step 132\n", 294 | "step 133\n", 295 | "step 134\n", 296 | "step 135\n", 297 | "step 136\n", 298 | "step 137\n", 299 | "step 138\n", 300 | "step 139\n", 301 | "step 140\n", 302 | "step 141\n", 303 | "step 142\n", 304 | "step 143\n", 305 | "step 144\n", 306 | "step 145\n", 307 | "step 146\n", 308 | "step 147\n", 309 | "step 148\n", 310 | "Query issue\n", 311 | "step 149\n", 312 | "step 150\n", 313 | "step 151\n", 314 | "step 152\n", 315 | "step 153\n", 316 | "step 154\n", 317 | "step 155\n", 318 | "step 156\n", 319 | "step 157\n", 320 | "step 158\n", 321 | "step 159\n", 322 | "step 160\n", 323 | "step 161\n", 324 | "step 162\n", 325 | "step 163\n", 326 | "step 164\n", 327 | "step 165\n", 328 | "step 166\n", 329 | "step 167\n", 330 | "step 168\n", 331 | "step 169\n", 332 | "Flash issue\n", 333 | "step 170\n", 334 | "step 171\n", 335 | "step 172\n", 336 | "step 173\n", 337 | "Flash issue\n", 338 | "step 174\n", 339 | "Flash issue\n", 340 | "step 175\n", 341 | "Flash issue\n", 342 | "step 176\n", 343 | "step 177\n", 344 | "step 178\n", 345 | "step 179\n", 346 | "step 180\n", 347 | "step 181\n", 348 | "step 182\n", 349 | "step 183\n", 350 | "step 184\n", 351 | "step 185\n", 352 | "step 186\n", 353 | "step 187\n", 354 | "step 188\n", 355 | "step 189\n", 356 | "step 190\n", 357 | "step 191\n", 358 | "step 192\n", 359 | "step 193\n", 360 | "step 194\n", 361 | "step 195\n", 362 | "step 196\n", 363 | "step 197\n", 364 | "step 198\n", 365 | "step 199\n", 366 | "step 200\n", 367 | "step 201\n", 368 | "step 202\n", 369 | "step 203\n", 370 | "step 204\n", 371 | "step 205\n", 372 | "step 206\n", 373 | "step 207\n", 374 | "step 208\n", 375 | "step 209\n", 376 | "step 210\n", 377 | "step 211\n", 378 | "step 212\n", 379 | "step 213\n", 380 | "step 214\n", 381 | "step 215\n", 382 | "step 216\n", 383 | "step 217\n", 384 | "step 218\n", 385 | "step 219\n", 386 | "Query issue\n", 387 | "step 220\n", 388 | "Query issue\n", 389 | "step 221\n", 390 | "step 222\n", 391 | "step 223\n", 392 | "step 224\n", 393 | "step 225\n", 394 | "step 226\n", 395 | "step 227\n", 396 | "step 228\n", 397 | "step 229\n", 398 | "step 230\n", 399 | "step 231\n", 400 | "step 232\n", 401 | "step 233\n", 402 | "step 234\n", 403 | "step 235\n", 404 | "step 236\n", 405 | "step 237\n", 406 | "step 238\n", 407 | "step 239\n", 408 | "step 240\n", 409 | "step 241\n", 410 | "step 242\n", 411 | "step 243\n", 412 | "step 244\n", 413 | "step 245\n", 414 | "step 246\n", 415 | "step 247\n", 416 | "step 248\n", 417 | "step 249\n", 418 | "step 250\n", 419 | "step 251\n", 420 | "step 252\n", 421 | "step 253\n", 422 | "step 254\n", 423 | "step 255\n", 424 | "step 256\n", 425 | "step 257\n", 426 | "step 258\n", 427 | "step 259\n", 428 | "step 260\n", 429 | "step 261\n", 430 | "step 262\n", 431 | "step 263\n", 432 | "step 264\n", 433 | "step 265\n", 434 | "step 266\n", 435 | "step 267\n", 436 | "step 268\n", 437 | "step 269\n", 438 | "Query issue\n", 439 | "step 270\n", 440 | "step 271\n", 441 | "step 272\n", 442 | "step 273\n", 443 | "step 274\n", 444 | "step 275\n", 445 | "step 276\n", 446 | "step 277\n", 447 | "step 278\n", 448 | "step 279\n", 449 | "step 280\n", 450 | "step 281\n", 451 | "step 282\n", 452 | "step 283\n", 453 | "step 284\n", 454 | "Query issue\n", 455 | "step 285\n", 456 | "step 286\n", 457 | "step 287\n", 458 | "step 288\n", 459 | "step 289\n", 460 | "step 290\n", 461 | "step 291\n", 462 | "step 292\n", 463 | "step 293\n", 464 | "step 294\n", 465 | "step 295\n", 466 | "step 296\n", 467 | "step 297\n", 468 | "Query issue\n", 469 | "step 298\n", 470 | "step 299\n", 471 | "step 300\n", 472 | "step 301\n", 473 | "step 302\n", 474 | "step 303\n", 475 | "step 304\n", 476 | "step 305\n", 477 | "step 306\n", 478 | "step 307\n", 479 | "step 308\n", 480 | "step 309\n", 481 | "step 310\n", 482 | "step 311\n", 483 | "step 312\n", 484 | "step 313\n", 485 | "step 314\n", 486 | "step 315\n", 487 | "Query issue\n", 488 | "step 316\n", 489 | "step 317\n", 490 | "step 318\n", 491 | "step 319\n", 492 | "step 320\n", 493 | "step 321\n", 494 | "step 322\n", 495 | "step 323\n", 496 | "step 324\n", 497 | "step 325\n", 498 | "step 326\n", 499 | "step 327\n", 500 | "step 328\n", 501 | "step 329\n", 502 | "step 330\n", 503 | "step 331\n", 504 | "step 332\n", 505 | "step 333\n", 506 | "step 334\n", 507 | "step 335\n", 508 | "step 336\n", 509 | "step 337\n", 510 | "step 338\n", 511 | "step 339\n", 512 | "step 340\n", 513 | "step 341\n", 514 | "step 342\n", 515 | "step 343\n", 516 | "step 344\n", 517 | "step 345\n", 518 | "step 346\n", 519 | "step 347\n", 520 | "step 348\n", 521 | "step 349\n" 522 | ] 523 | } 524 | ], 525 | "source": [ 526 | "client = genai.Client()\n", 527 | "\n", 528 | "for i in range(350):\n", 529 | " print(f\"step {i}\")\n", 530 | " try:\n", 531 | " response = client.models.generate_content(\n", 532 | " model='gemini-2.0-flash-thinking-exp', contents=[\n", 533 | " dataset[\"testmini\"][i][\"decoded_image\"],\n", 534 | " dataset[\"testmini\"][i][\"query\"]\n", 535 | " ]\n", 536 | " )\n", 537 | " indexes.append(i)\n", 538 | " questions.append(dataset[\"testmini\"][i][\"query\"])\n", 539 | " true_answers.append(dataset[\"testmini\"][i][\"answer\"])\n", 540 | " try:\n", 541 | " thoughts.append(response.candidates[0].content.parts[0].text)\n", 542 | " generated_answers.append(response.candidates[0].content.parts[1].text)\n", 543 | " except:\n", 544 | " print(\"Query issue\")\n", 545 | " thoughts.append(\"\")\n", 546 | " generated_answers.append(\"\")\n", 547 | " time.sleep(2)\n", 548 | " except:\n", 549 | " print(\"Flash issue\")\n", 550 | "df_dict = {\"questions\": questions,\n", 551 | " \"thoughts\": thoughts,\n", 552 | " \"generated_answers\": generated_answers,\n", 553 | " \"true_answers\": true_answers,\n", 554 | " \"indexes\": indexes}\n", 555 | "df = pd.DataFrame.from_dict(df_dict)\n", 556 | "df.to_csv(\"training_data/training.csv\", index=False)" 557 | ] 558 | }, 559 | { 560 | "cell_type": "code", 561 | "execution_count": 74, 562 | "metadata": {}, 563 | "outputs": [ 564 | { 565 | "name": "stdout", 566 | "output_type": "stream", 567 | "text": [ 568 | "344\n" 569 | ] 570 | } 571 | ], 572 | "source": [ 573 | "print(len(questions))" 574 | ] 575 | } 576 | ], 577 | "metadata": { 578 | "kernelspec": { 579 | "display_name": "Python 3", 580 | "language": "python", 581 | "name": "python3" 582 | }, 583 | "language_info": { 584 | "codemirror_mode": { 585 | "name": "ipython", 586 | "version": 3 587 | }, 588 | "file_extension": ".py", 589 | "mimetype": "text/x-python", 590 | "name": "python", 591 | "nbconvert_exporter": "python", 592 | "pygments_lexer": "ipython3", 593 | "version": "3.13.1" 594 | } 595 | }, 596 | "nbformat": 4, 597 | "nbformat_minor": 2 598 | } 599 | -------------------------------------------------------------------------------- /inference.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pandas as pd 3 | from huggingface_hub import login 4 | from transformers import PaliGemmaProcessor, PaliGemmaForConditionalGeneration 5 | from datasets import load_dataset 6 | 7 | login(token=os.environ.get("HUGGINGFACE_TOKEN")) 8 | model_id = "google/paligemma2-3b-pt-448" 9 | processor = PaliGemmaProcessor.from_pretrained(model_id) 10 | device = "cuda" 11 | model = PaliGemmaForConditionalGeneration.from_pretrained(model_id).to(device) 12 | 13 | dataset = load_dataset("AI4Math/MathVista") 14 | prompts = [] 15 | result_list = [] 16 | true_answers = [] 17 | for i in range(351, len(dataset["testmini"])): 18 | print(f"step {i - 351}") 19 | prompt = dataset["testmini"][i]["query"] 20 | raw_image = dataset["testmini"][i]["decoded_image"] 21 | paligemma_prompt = "" + prompt + "" 22 | inputs = processor(paligemma_prompt, raw_image.convert("RGB"), return_tensors="pt").to(device) 23 | output = model.generate(**inputs, max_new_tokens=2000) 24 | result = processor.decode(output[0], skip_special_tokens=True)[len(prompt):] 25 | prompts.append(prompt) 26 | result_list.append(result) 27 | true_answers.append(dataset["testmini"][i]["answer"]) 28 | df = pd.DataFrame({"prompt": prompts, "result": result_list, "true_answer": true_answers}) 29 | df.to_csv("outputs/results.csv", index=False) -------------------------------------------------------------------------------- /inference_finetuned.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pandas as pd 3 | from huggingface_hub import login 4 | from transformers import PaliGemmaProcessor, PaliGemmaForConditionalGeneration 5 | from datasets import load_dataset 6 | 7 | login(token=os.environ.get("HUGGINGFACE_TOKEN")) 8 | model_id = "google/paligemma2-3b-pt-448" 9 | processor = PaliGemmaProcessor.from_pretrained(model_id) 10 | device = "cuda" 11 | 12 | model_id = "axel-darmouni/paligemma2_thinking_v2" 13 | model = PaliGemmaForConditionalGeneration.from_pretrained(model_id).to(device) 14 | 15 | dataset = load_dataset("AI4Math/MathVista") 16 | prompts = [] 17 | result_list = [] 18 | true_answers = [] 19 | for i in range(351, len(dataset["testmini"])): 20 | print(f"step {i - 351}") 21 | prompt = dataset["testmini"][i]["query"] 22 | raw_image = dataset["testmini"][i]["decoded_image"] 23 | paligemma_prompt = "" + prompt + "" 24 | inputs = processor(paligemma_prompt, raw_image.convert("RGB"), return_tensors="pt").to(device) 25 | output = model.generate(**inputs, max_new_tokens=500) 26 | result = processor.decode(output[0], skip_special_tokens=True)[len(prompt):] 27 | if i-351 <= 20: 28 | print(result) 29 | prompts.append(prompt) 30 | result_list.append(result) 31 | true_answers.append(dataset["testmini"][i]["answer"]) 32 | df = pd.DataFrame({"prompt": prompts, "result": result_list, "true_answer": true_answers}) 33 | df.to_csv("outputs/results_finetuned.csv", index=False) -------------------------------------------------------------------------------- /inference_finetuned_smol.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import pandas as pd 3 | from transformers import Idefics3ForConditionalGeneration, AutoProcessor 4 | from datasets import load_dataset 5 | from dotenv import load_dotenv 6 | 7 | load_dotenv() 8 | model_id = "HuggingFaceTB/SmolVLM-Instruct" 9 | processor = AutoProcessor.from_pretrained(model_id) 10 | thinking_model_id = "axel-darmouni/smolvlm-instruct-thinking-v2" 11 | model = Idefics3ForConditionalGeneration.from_pretrained( 12 | thinking_model_id, 13 | device_map="auto", 14 | torch_dtype=torch.bfloat16, 15 | _attn_implementation="flash_attention_2", 16 | ) 17 | 18 | 19 | system_message = """You are a Vision Language Model specialized in handling mathematical questions with reasoning 20 | Your task is, given a question that requires thinking, to give the right answer to it.""" 21 | 22 | def format_data(sample): 23 | return [ 24 | { 25 | "role": "system", 26 | "content": [ 27 | { 28 | "type": "text", 29 | "text": system_message 30 | } 31 | ], 32 | }, 33 | { 34 | "role": "user", 35 | "content": [ 36 | { 37 | "type": "image", 38 | "image": sample["image"], 39 | }, 40 | { 41 | "type": "text", 42 | "text": sample['input'], 43 | } 44 | ], 45 | }, 46 | ] 47 | 48 | def generate_text_from_sample(model, processor, sample, max_new_tokens=512, device="cuda"): 49 | # Prepare the text input by applying the chat template 50 | text_input = processor.apply_chat_template( 51 | sample[1:2], # Use the sample without the system message 52 | add_generation_prompt=True 53 | ) 54 | 55 | image_inputs = [] 56 | image = sample[1]['content'][0]['image'] 57 | if image.mode != 'RGB': 58 | image = image.convert('RGB') 59 | image_inputs.append([image]) 60 | 61 | # Prepare the inputs for the model 62 | model_inputs = processor( 63 | #text=[text_input], 64 | text=text_input, 65 | images=image_inputs, 66 | return_tensors="pt", 67 | ).to(device) # Move inputs to the specified device 68 | 69 | # Generate text with the model 70 | generated_ids = model.generate(**model_inputs, max_new_tokens=max_new_tokens) 71 | 72 | # Trim the generated ids to remove the input ids 73 | trimmed_generated_ids = [ 74 | out_ids[len(in_ids):] for in_ids, out_ids in zip(model_inputs.input_ids, generated_ids) 75 | ] 76 | 77 | # Decode the output text 78 | output_text = processor.batch_decode( 79 | trimmed_generated_ids, 80 | skip_special_tokens=True, 81 | clean_up_tokenization_spaces=False 82 | ) 83 | 84 | return output_text[0] 85 | 86 | dataset = load_dataset("AI4Math/MathVista") 87 | prompts = [] 88 | result_list = [] 89 | true_answers = [] 90 | for i in range(351, len(dataset["testmini"])): 91 | print(f"step {i - 351}") 92 | prompt = dataset["testmini"][i]["query"] 93 | raw_image = dataset["testmini"][i]["decoded_image"] 94 | inputs = format_data(sample = {"image": raw_image, "input": prompt}) 95 | output = generate_text_from_sample(model, processor, inputs) 96 | if i-351 <= 20: 97 | print(output) 98 | prompts.append(prompt) 99 | result_list.append(output) 100 | true_answers.append(dataset["testmini"][i]["answer"]) 101 | df = pd.DataFrame({"prompt": prompts, "result": result_list, "true_answer": true_answers}) 102 | df.to_csv("outputs/results_finetuned_smol_v2.csv", index=False) -------------------------------------------------------------------------------- /inference_smol.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import pandas as pd 3 | from transformers import Idefics3ForConditionalGeneration, AutoProcessor 4 | from datasets import load_dataset 5 | from dotenv import load_dotenv 6 | 7 | load_dotenv() 8 | model_id = "HuggingFaceTB/SmolVLM-Instruct" 9 | model = Idefics3ForConditionalGeneration.from_pretrained( 10 | model_id, 11 | device_map="auto", 12 | torch_dtype=torch.bfloat16, 13 | _attn_implementation="flash_attention_2", 14 | ) 15 | 16 | processor = AutoProcessor.from_pretrained(model_id) 17 | 18 | system_message = """You are a Vision Language Model specialized in handling mathematical questions with reasoning 19 | Your task is, given a question that requires thinking, to give the right answer to it.""" 20 | 21 | def format_data(sample): 22 | return [ 23 | { 24 | "role": "system", 25 | "content": [ 26 | { 27 | "type": "text", 28 | "text": system_message 29 | } 30 | ], 31 | }, 32 | { 33 | "role": "user", 34 | "content": [ 35 | { 36 | "type": "image", 37 | "image": sample["image"], 38 | }, 39 | { 40 | "type": "text", 41 | "text": sample['input'], 42 | } 43 | ], 44 | }, 45 | ] 46 | 47 | def generate_text_from_sample(model, processor, sample, max_new_tokens=1024, device="cuda"): 48 | # Prepare the text input by applying the chat template 49 | text_input = processor.apply_chat_template( 50 | sample[1:2], # Use the sample without the system message 51 | add_generation_prompt=True 52 | ) 53 | 54 | image_inputs = [] 55 | image = sample[1]['content'][0]['image'] 56 | if image.mode != 'RGB': 57 | image = image.convert('RGB') 58 | image_inputs.append([image]) 59 | 60 | # Prepare the inputs for the model 61 | model_inputs = processor( 62 | #text=[text_input], 63 | text=text_input, 64 | images=image_inputs, 65 | return_tensors="pt", 66 | ).to(device) # Move inputs to the specified device 67 | 68 | # Generate text with the model 69 | generated_ids = model.generate(**model_inputs, max_new_tokens=max_new_tokens) 70 | 71 | # Trim the generated ids to remove the input ids 72 | trimmed_generated_ids = [ 73 | out_ids[len(in_ids):] for in_ids, out_ids in zip(model_inputs.input_ids, generated_ids) 74 | ] 75 | 76 | # Decode the output text 77 | output_text = processor.batch_decode( 78 | trimmed_generated_ids, 79 | skip_special_tokens=True, 80 | clean_up_tokenization_spaces=False 81 | ) 82 | 83 | return output_text[0] 84 | 85 | dataset = load_dataset("AI4Math/MathVista") 86 | prompts = [] 87 | result_list = [] 88 | true_answers = [] 89 | for i in range(351, len(dataset["testmini"])): 90 | print(f"step {i - 351}") 91 | prompt = dataset["testmini"][i]["query"] 92 | raw_image = dataset["testmini"][i]["decoded_image"] 93 | inputs = format_data(sample = {"image": raw_image, "input": prompt}) 94 | output = generate_text_from_sample(model, processor, inputs) 95 | if i-351 <= 20: 96 | print(output) 97 | prompts.append(prompt) 98 | result_list.append(output) 99 | true_answers.append(dataset["testmini"][i]["answer"]) 100 | df = pd.DataFrame({"prompt": prompts, "result": result_list, "true_answer": true_answers}) 101 | df.to_csv("outputs/results_smol.csv", index=False) -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | torch 2 | huggingface 3 | huggingface_hub 4 | transformers 5 | datasets 6 | tensorboardX 7 | accelerate 8 | google-genai -------------------------------------------------------------------------------- /training_data/mathvista_images/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/1.png -------------------------------------------------------------------------------- /training_data/mathvista_images/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/10.png -------------------------------------------------------------------------------- /training_data/mathvista_images/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/100.png -------------------------------------------------------------------------------- /training_data/mathvista_images/101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/101.png -------------------------------------------------------------------------------- /training_data/mathvista_images/104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/104.png -------------------------------------------------------------------------------- /training_data/mathvista_images/105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/105.png -------------------------------------------------------------------------------- /training_data/mathvista_images/106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/106.png -------------------------------------------------------------------------------- /training_data/mathvista_images/108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/108.png -------------------------------------------------------------------------------- /training_data/mathvista_images/109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/109.png -------------------------------------------------------------------------------- /training_data/mathvista_images/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/11.png -------------------------------------------------------------------------------- /training_data/mathvista_images/111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/111.png -------------------------------------------------------------------------------- /training_data/mathvista_images/113.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/113.png -------------------------------------------------------------------------------- /training_data/mathvista_images/115.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/115.png -------------------------------------------------------------------------------- /training_data/mathvista_images/116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/116.png -------------------------------------------------------------------------------- /training_data/mathvista_images/118.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/118.png -------------------------------------------------------------------------------- /training_data/mathvista_images/119.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/119.png -------------------------------------------------------------------------------- /training_data/mathvista_images/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/12.png -------------------------------------------------------------------------------- /training_data/mathvista_images/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/120.png -------------------------------------------------------------------------------- /training_data/mathvista_images/121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/121.png -------------------------------------------------------------------------------- /training_data/mathvista_images/122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/122.png -------------------------------------------------------------------------------- /training_data/mathvista_images/123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/123.png -------------------------------------------------------------------------------- /training_data/mathvista_images/124.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/124.png -------------------------------------------------------------------------------- /training_data/mathvista_images/125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/125.png -------------------------------------------------------------------------------- /training_data/mathvista_images/126.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/126.png -------------------------------------------------------------------------------- /training_data/mathvista_images/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/128.png -------------------------------------------------------------------------------- /training_data/mathvista_images/129.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/129.png -------------------------------------------------------------------------------- /training_data/mathvista_images/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/13.png -------------------------------------------------------------------------------- /training_data/mathvista_images/130.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/130.png -------------------------------------------------------------------------------- /training_data/mathvista_images/132.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/132.png -------------------------------------------------------------------------------- /training_data/mathvista_images/133.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/133.png -------------------------------------------------------------------------------- /training_data/mathvista_images/135.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/135.png -------------------------------------------------------------------------------- /training_data/mathvista_images/136.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/136.png -------------------------------------------------------------------------------- /training_data/mathvista_images/138.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/138.png -------------------------------------------------------------------------------- /training_data/mathvista_images/139.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/139.png -------------------------------------------------------------------------------- /training_data/mathvista_images/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/14.png -------------------------------------------------------------------------------- /training_data/mathvista_images/140.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/140.png -------------------------------------------------------------------------------- /training_data/mathvista_images/141.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/141.png -------------------------------------------------------------------------------- /training_data/mathvista_images/142.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/142.png -------------------------------------------------------------------------------- /training_data/mathvista_images/143.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/143.png -------------------------------------------------------------------------------- /training_data/mathvista_images/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/144.png -------------------------------------------------------------------------------- /training_data/mathvista_images/145.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/145.png -------------------------------------------------------------------------------- /training_data/mathvista_images/146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/146.png -------------------------------------------------------------------------------- /training_data/mathvista_images/147.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/147.png -------------------------------------------------------------------------------- /training_data/mathvista_images/149.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/149.png -------------------------------------------------------------------------------- /training_data/mathvista_images/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/15.png -------------------------------------------------------------------------------- /training_data/mathvista_images/151.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/151.png -------------------------------------------------------------------------------- /training_data/mathvista_images/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/152.png -------------------------------------------------------------------------------- /training_data/mathvista_images/153.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/153.png -------------------------------------------------------------------------------- /training_data/mathvista_images/154.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/154.png -------------------------------------------------------------------------------- /training_data/mathvista_images/155.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/155.png -------------------------------------------------------------------------------- /training_data/mathvista_images/158.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/158.png -------------------------------------------------------------------------------- /training_data/mathvista_images/159.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/159.png -------------------------------------------------------------------------------- /training_data/mathvista_images/161.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/161.png -------------------------------------------------------------------------------- /training_data/mathvista_images/163.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/163.png -------------------------------------------------------------------------------- /training_data/mathvista_images/166.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/166.png -------------------------------------------------------------------------------- /training_data/mathvista_images/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/167.png -------------------------------------------------------------------------------- /training_data/mathvista_images/168.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/168.png -------------------------------------------------------------------------------- /training_data/mathvista_images/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/17.png -------------------------------------------------------------------------------- /training_data/mathvista_images/170.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/170.png -------------------------------------------------------------------------------- /training_data/mathvista_images/171.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/171.png -------------------------------------------------------------------------------- /training_data/mathvista_images/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/172.png -------------------------------------------------------------------------------- /training_data/mathvista_images/176.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/176.png -------------------------------------------------------------------------------- /training_data/mathvista_images/178.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/178.png -------------------------------------------------------------------------------- /training_data/mathvista_images/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/18.png -------------------------------------------------------------------------------- /training_data/mathvista_images/182.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/182.png -------------------------------------------------------------------------------- /training_data/mathvista_images/183.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/183.png -------------------------------------------------------------------------------- /training_data/mathvista_images/185.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/185.png -------------------------------------------------------------------------------- /training_data/mathvista_images/186.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/186.png -------------------------------------------------------------------------------- /training_data/mathvista_images/187.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/187.png -------------------------------------------------------------------------------- /training_data/mathvista_images/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/19.png -------------------------------------------------------------------------------- /training_data/mathvista_images/190.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/190.png -------------------------------------------------------------------------------- /training_data/mathvista_images/192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/192.png -------------------------------------------------------------------------------- /training_data/mathvista_images/194.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/194.png -------------------------------------------------------------------------------- /training_data/mathvista_images/195.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/195.png -------------------------------------------------------------------------------- /training_data/mathvista_images/197.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/197.png -------------------------------------------------------------------------------- /training_data/mathvista_images/198.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/198.png -------------------------------------------------------------------------------- /training_data/mathvista_images/199.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/199.png -------------------------------------------------------------------------------- /training_data/mathvista_images/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/2.png -------------------------------------------------------------------------------- /training_data/mathvista_images/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/20.png -------------------------------------------------------------------------------- /training_data/mathvista_images/201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/201.png -------------------------------------------------------------------------------- /training_data/mathvista_images/202.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/202.png -------------------------------------------------------------------------------- /training_data/mathvista_images/204.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/204.png -------------------------------------------------------------------------------- /training_data/mathvista_images/205.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/205.png -------------------------------------------------------------------------------- /training_data/mathvista_images/206.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/206.png -------------------------------------------------------------------------------- /training_data/mathvista_images/208.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/208.png -------------------------------------------------------------------------------- /training_data/mathvista_images/209.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/209.png -------------------------------------------------------------------------------- /training_data/mathvista_images/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/21.png -------------------------------------------------------------------------------- /training_data/mathvista_images/210.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/210.png -------------------------------------------------------------------------------- /training_data/mathvista_images/213.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/213.png -------------------------------------------------------------------------------- /training_data/mathvista_images/214.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/214.png -------------------------------------------------------------------------------- /training_data/mathvista_images/215.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/215.png -------------------------------------------------------------------------------- /training_data/mathvista_images/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/216.png -------------------------------------------------------------------------------- /training_data/mathvista_images/218.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/218.png -------------------------------------------------------------------------------- /training_data/mathvista_images/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/22.png -------------------------------------------------------------------------------- /training_data/mathvista_images/221.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/221.png -------------------------------------------------------------------------------- /training_data/mathvista_images/222.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/222.png -------------------------------------------------------------------------------- /training_data/mathvista_images/223.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/223.png -------------------------------------------------------------------------------- /training_data/mathvista_images/225.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/225.png -------------------------------------------------------------------------------- /training_data/mathvista_images/226.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/226.png -------------------------------------------------------------------------------- /training_data/mathvista_images/227.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/227.png -------------------------------------------------------------------------------- /training_data/mathvista_images/228.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/228.png -------------------------------------------------------------------------------- /training_data/mathvista_images/229.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/229.png -------------------------------------------------------------------------------- /training_data/mathvista_images/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/23.png -------------------------------------------------------------------------------- /training_data/mathvista_images/230.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/230.png -------------------------------------------------------------------------------- /training_data/mathvista_images/231.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/231.png -------------------------------------------------------------------------------- /training_data/mathvista_images/233.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/233.png -------------------------------------------------------------------------------- /training_data/mathvista_images/234.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/234.png -------------------------------------------------------------------------------- /training_data/mathvista_images/235.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/235.png -------------------------------------------------------------------------------- /training_data/mathvista_images/237.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/237.png -------------------------------------------------------------------------------- /training_data/mathvista_images/238.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/238.png -------------------------------------------------------------------------------- /training_data/mathvista_images/240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/240.png -------------------------------------------------------------------------------- /training_data/mathvista_images/241.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/241.png -------------------------------------------------------------------------------- /training_data/mathvista_images/242.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/242.png -------------------------------------------------------------------------------- /training_data/mathvista_images/243.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/243.png -------------------------------------------------------------------------------- /training_data/mathvista_images/244.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/244.png -------------------------------------------------------------------------------- /training_data/mathvista_images/247.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/247.png -------------------------------------------------------------------------------- /training_data/mathvista_images/249.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/249.png -------------------------------------------------------------------------------- /training_data/mathvista_images/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/25.png -------------------------------------------------------------------------------- /training_data/mathvista_images/253.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/253.png -------------------------------------------------------------------------------- /training_data/mathvista_images/254.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/254.png -------------------------------------------------------------------------------- /training_data/mathvista_images/255.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/255.png -------------------------------------------------------------------------------- /training_data/mathvista_images/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/256.png -------------------------------------------------------------------------------- /training_data/mathvista_images/258.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/258.png -------------------------------------------------------------------------------- /training_data/mathvista_images/259.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/259.png -------------------------------------------------------------------------------- /training_data/mathvista_images/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/26.png -------------------------------------------------------------------------------- /training_data/mathvista_images/263.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/263.png -------------------------------------------------------------------------------- /training_data/mathvista_images/264.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/264.png -------------------------------------------------------------------------------- /training_data/mathvista_images/265.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/265.png -------------------------------------------------------------------------------- /training_data/mathvista_images/266.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/266.png -------------------------------------------------------------------------------- /training_data/mathvista_images/267.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/267.png -------------------------------------------------------------------------------- /training_data/mathvista_images/268.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/268.png -------------------------------------------------------------------------------- /training_data/mathvista_images/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/27.png -------------------------------------------------------------------------------- /training_data/mathvista_images/270.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/270.png -------------------------------------------------------------------------------- /training_data/mathvista_images/271.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/271.png -------------------------------------------------------------------------------- /training_data/mathvista_images/273.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/273.png -------------------------------------------------------------------------------- /training_data/mathvista_images/274.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/274.png -------------------------------------------------------------------------------- /training_data/mathvista_images/275.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/275.png -------------------------------------------------------------------------------- /training_data/mathvista_images/277.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/277.png -------------------------------------------------------------------------------- /training_data/mathvista_images/278.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/278.png -------------------------------------------------------------------------------- /training_data/mathvista_images/279.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/279.png -------------------------------------------------------------------------------- /training_data/mathvista_images/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/28.png -------------------------------------------------------------------------------- /training_data/mathvista_images/280.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/280.png -------------------------------------------------------------------------------- /training_data/mathvista_images/281.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/281.png -------------------------------------------------------------------------------- /training_data/mathvista_images/282.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/282.png -------------------------------------------------------------------------------- /training_data/mathvista_images/283.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/283.png -------------------------------------------------------------------------------- /training_data/mathvista_images/285.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/285.png -------------------------------------------------------------------------------- /training_data/mathvista_images/286.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/286.png -------------------------------------------------------------------------------- /training_data/mathvista_images/288.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/288.png -------------------------------------------------------------------------------- /training_data/mathvista_images/289.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/289.png -------------------------------------------------------------------------------- /training_data/mathvista_images/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/29.png -------------------------------------------------------------------------------- /training_data/mathvista_images/290.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/290.png -------------------------------------------------------------------------------- /training_data/mathvista_images/291.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/291.png -------------------------------------------------------------------------------- /training_data/mathvista_images/292.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/292.png -------------------------------------------------------------------------------- /training_data/mathvista_images/294.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/294.png -------------------------------------------------------------------------------- /training_data/mathvista_images/295.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/295.png -------------------------------------------------------------------------------- /training_data/mathvista_images/296.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/296.png -------------------------------------------------------------------------------- /training_data/mathvista_images/298.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/298.png -------------------------------------------------------------------------------- /training_data/mathvista_images/299.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/299.png -------------------------------------------------------------------------------- /training_data/mathvista_images/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/3.png -------------------------------------------------------------------------------- /training_data/mathvista_images/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/30.png -------------------------------------------------------------------------------- /training_data/mathvista_images/300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/300.png -------------------------------------------------------------------------------- /training_data/mathvista_images/301.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/301.png -------------------------------------------------------------------------------- /training_data/mathvista_images/302.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/302.png -------------------------------------------------------------------------------- /training_data/mathvista_images/303.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/303.png -------------------------------------------------------------------------------- /training_data/mathvista_images/304.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/304.png -------------------------------------------------------------------------------- /training_data/mathvista_images/305.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/305.png -------------------------------------------------------------------------------- /training_data/mathvista_images/307.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/307.png -------------------------------------------------------------------------------- /training_data/mathvista_images/308.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/308.png -------------------------------------------------------------------------------- /training_data/mathvista_images/309.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/309.png -------------------------------------------------------------------------------- /training_data/mathvista_images/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/31.png -------------------------------------------------------------------------------- /training_data/mathvista_images/310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/310.png -------------------------------------------------------------------------------- /training_data/mathvista_images/311.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/311.png -------------------------------------------------------------------------------- /training_data/mathvista_images/313.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/313.png -------------------------------------------------------------------------------- /training_data/mathvista_images/314.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/314.png -------------------------------------------------------------------------------- /training_data/mathvista_images/316.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/316.png -------------------------------------------------------------------------------- /training_data/mathvista_images/317.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/317.png -------------------------------------------------------------------------------- /training_data/mathvista_images/318.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/318.png -------------------------------------------------------------------------------- /training_data/mathvista_images/319.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/319.png -------------------------------------------------------------------------------- /training_data/mathvista_images/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/32.png -------------------------------------------------------------------------------- /training_data/mathvista_images/320.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/320.png -------------------------------------------------------------------------------- /training_data/mathvista_images/321.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/321.png -------------------------------------------------------------------------------- /training_data/mathvista_images/322.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/322.png -------------------------------------------------------------------------------- /training_data/mathvista_images/324.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/324.png -------------------------------------------------------------------------------- /training_data/mathvista_images/327.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/327.png -------------------------------------------------------------------------------- /training_data/mathvista_images/328.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/328.png -------------------------------------------------------------------------------- /training_data/mathvista_images/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/33.png -------------------------------------------------------------------------------- /training_data/mathvista_images/330.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/330.png -------------------------------------------------------------------------------- /training_data/mathvista_images/331.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/331.png -------------------------------------------------------------------------------- /training_data/mathvista_images/332.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/332.png -------------------------------------------------------------------------------- /training_data/mathvista_images/333.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/333.png -------------------------------------------------------------------------------- /training_data/mathvista_images/334.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/334.png -------------------------------------------------------------------------------- /training_data/mathvista_images/335.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/335.png -------------------------------------------------------------------------------- /training_data/mathvista_images/336.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/336.png -------------------------------------------------------------------------------- /training_data/mathvista_images/337.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/337.png -------------------------------------------------------------------------------- /training_data/mathvista_images/338.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/338.png -------------------------------------------------------------------------------- /training_data/mathvista_images/339.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/339.png -------------------------------------------------------------------------------- /training_data/mathvista_images/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/34.png -------------------------------------------------------------------------------- /training_data/mathvista_images/340.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/340.png -------------------------------------------------------------------------------- /training_data/mathvista_images/341.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/341.png -------------------------------------------------------------------------------- /training_data/mathvista_images/343.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/343.png -------------------------------------------------------------------------------- /training_data/mathvista_images/345.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/345.png -------------------------------------------------------------------------------- /training_data/mathvista_images/346.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/346.png -------------------------------------------------------------------------------- /training_data/mathvista_images/347.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/347.png -------------------------------------------------------------------------------- /training_data/mathvista_images/348.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/348.png -------------------------------------------------------------------------------- /training_data/mathvista_images/349.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/349.png -------------------------------------------------------------------------------- /training_data/mathvista_images/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/35.png -------------------------------------------------------------------------------- /training_data/mathvista_images/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/37.png -------------------------------------------------------------------------------- /training_data/mathvista_images/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/38.png -------------------------------------------------------------------------------- /training_data/mathvista_images/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/4.png -------------------------------------------------------------------------------- /training_data/mathvista_images/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/40.png -------------------------------------------------------------------------------- /training_data/mathvista_images/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/42.png -------------------------------------------------------------------------------- /training_data/mathvista_images/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/43.png -------------------------------------------------------------------------------- /training_data/mathvista_images/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/44.png -------------------------------------------------------------------------------- /training_data/mathvista_images/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/45.png -------------------------------------------------------------------------------- /training_data/mathvista_images/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/47.png -------------------------------------------------------------------------------- /training_data/mathvista_images/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/5.png -------------------------------------------------------------------------------- /training_data/mathvista_images/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/50.png -------------------------------------------------------------------------------- /training_data/mathvista_images/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/51.png -------------------------------------------------------------------------------- /training_data/mathvista_images/53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/53.png -------------------------------------------------------------------------------- /training_data/mathvista_images/54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/54.png -------------------------------------------------------------------------------- /training_data/mathvista_images/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/55.png -------------------------------------------------------------------------------- /training_data/mathvista_images/56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/56.png -------------------------------------------------------------------------------- /training_data/mathvista_images/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/57.png -------------------------------------------------------------------------------- /training_data/mathvista_images/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/58.png -------------------------------------------------------------------------------- /training_data/mathvista_images/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/60.png -------------------------------------------------------------------------------- /training_data/mathvista_images/61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/61.png -------------------------------------------------------------------------------- /training_data/mathvista_images/63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/63.png -------------------------------------------------------------------------------- /training_data/mathvista_images/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/64.png -------------------------------------------------------------------------------- /training_data/mathvista_images/66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/66.png -------------------------------------------------------------------------------- /training_data/mathvista_images/67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/67.png -------------------------------------------------------------------------------- /training_data/mathvista_images/70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/70.png -------------------------------------------------------------------------------- /training_data/mathvista_images/71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/71.png -------------------------------------------------------------------------------- /training_data/mathvista_images/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/72.png -------------------------------------------------------------------------------- /training_data/mathvista_images/73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/73.png -------------------------------------------------------------------------------- /training_data/mathvista_images/74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/74.png -------------------------------------------------------------------------------- /training_data/mathvista_images/75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/75.png -------------------------------------------------------------------------------- /training_data/mathvista_images/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/76.png -------------------------------------------------------------------------------- /training_data/mathvista_images/78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/78.png -------------------------------------------------------------------------------- /training_data/mathvista_images/79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/79.png -------------------------------------------------------------------------------- /training_data/mathvista_images/82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/82.png -------------------------------------------------------------------------------- /training_data/mathvista_images/85.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/85.png -------------------------------------------------------------------------------- /training_data/mathvista_images/86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/86.png -------------------------------------------------------------------------------- /training_data/mathvista_images/90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/90.png -------------------------------------------------------------------------------- /training_data/mathvista_images/91.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/91.png -------------------------------------------------------------------------------- /training_data/mathvista_images/92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/92.png -------------------------------------------------------------------------------- /training_data/mathvista_images/93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/93.png -------------------------------------------------------------------------------- /training_data/mathvista_images/94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/94.png -------------------------------------------------------------------------------- /training_data/mathvista_images/95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/95.png -------------------------------------------------------------------------------- /training_data/mathvista_images/96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/96.png -------------------------------------------------------------------------------- /training_data/mathvista_images/97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/97.png -------------------------------------------------------------------------------- /training_data/mathvista_images/99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/axeld5/pali_reason/54f9eaafc334abaadcbedbb59f54fa958b6e3023/training_data/mathvista_images/99.png -------------------------------------------------------------------------------- /training_data/truncated_training_dict.json: -------------------------------------------------------------------------------- 1 | { 2 | "prefixes": [ 3 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: what is the total volume of the measuring cup? (Unit: g)", 4 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: \u25b3ABC\u7684\u4e24\u5185\u89d2\u5e73\u5206\u7ebfOB\u3001OC\u76f8\u4ea4\u4e8e\u70b9O\uff0c\u82e5\u2220A\uff1d110\u00b0\uff0c\u5219\u2220BOC\uff1d\uff08\uff09\nChoices:\n(A) 135\u00b0\n(B) 140\u00b0\n(C) 145\u00b0\n(D) 150\u00b0", 5 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: Subtract all large rubber spheres. Subtract all big shiny cylinders. How many objects are left?", 6 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Find $m\\angle H$\nChoices:\n(A) 97\n(B) 102\n(C) 107\n(D) 122", 7 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: As shown in the figure, if CB = 4.0, DB = 7.0, and D is the midpoint of AC, then the length of AC is ()\nChoices:\n(A) 6cm\n(B) 7cm\n(C) 4cm\n(D) 5cm", 8 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: Subtract all red things. Subtract all tiny matte balls. How many objects are left?", 9 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Are there fewer metallic fighters than rubber objects?\nChoices:\n(A) Yes\n(B) No", 10 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: How many objects are preferred by more than 90 percent of people in at least one category?", 11 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Is the number of tiny objects that are behind the small metal jet less than the number of tiny things left of the tiny sedan?\nChoices:\n(A) Yes\n(B) No", 12 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Which organism with be most affected if algae was eliminated?\nChoices:\n(A) Tilapia\n(B) Common water flea\n(C) Great diving beetle\n(D) Tadpole", 13 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: How many items sold less than 5 units in at least one store?", 14 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: The passage below describes an experiment. Read the passage and then follow the instructions below.\n\nLinda applied a thin layer of wax to the underside of her snowboard and rode the board straight down a hill. Then, she removed the wax and rode the snowboard straight down the hill again. She repeated the rides four more times, alternating whether she rode with a thin layer of wax on the board or not. Her friend Bob timed each ride. Linda and Bob calculated the average time it took to slide straight down the hill on the snowboard with wax compared to the average time on the snowboard without wax.\nFigure: snowboarding down a hill. Identify the question that Linda and Bob's experiment can best answer.\nChoices:\n(A) Does Linda's snowboard slide down a hill in less time when it has a thin layer of wax or a thick layer of wax?\n(B) Does Linda's snowboard slide down a hill in less time when it has a layer of wax or when it does not have a layer of wax?", 15 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: what is the highest amount this class measures?", 16 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Is the sum of smallest two bar is greater then the largest bar?\nChoices:\n(A) Yes\n(B) No", 17 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: Fill in the blank to describe the model. The model has 4 dots divided into 2 equal groups. There are (_) dots in each group.", 18 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: How many people in the image were born after the end of World War II?", 19 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: The derivative of f(x) at x=2 is ____ that at x=5\nChoices:\n(A) larger than\n(B) equal to\n(C) smaller than", 20 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Is Periwinkle the maximum?\nChoices:\n(A) yes\n(B) no", 21 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Is Black greater than Deep Sky Blue?\nChoices:\n(A) yes\n(B) no", 22 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: What is the age gap between these two people in image? (Unit: years)", 23 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: $\\overline{AB}$ is a diameter, $AC=8$ inches, and $BC=15$ inches. Find the radius of the circle.\nChoices:\n(A) 7.5\n(B) 8\n(C) 8.5\n(D) 17", 24 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: What is the age gap between these two people in image? (Unit: years)", 25 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: As shown in the figure, the two chords AB and CD in the circle intersect at E, \u2220D = 35.0, \u2220AEC = 105.0, then \u2220C = ()\nChoices:\n(A) 60\u00b0\n(B) 70\u00b0\n(C) 80\u00b0\n(D) 85\u00b0", 26 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Are there more big red rubber double buss in front of the large red double bus than big green things?\nChoices:\n(A) Yes\n(B) No", 27 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: \u5982\u56fe\uff0c\u5728ABCD\u4e2d\uff0cAB\uff1dAC\uff0c\u2220CAB\uff1d40\u00b0\uff0c\u5219\u2220D\u7684\u5ea6\u6570\u662f\uff08\uff09\nChoices:\n(A) 40\u00b0\n(B) 50\u00b0\n(C) 60\u00b0\n(D) 70\u00b0", 28 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Use a sector paper sheet with a central angle of 120.0 and a radius of 6.0 to roll into a conical bottomless paper cap (as shown in the picture), then the bottom perimeter of the paper cap is ()\nChoices:\n(A) 2\u03c0cm\n(B) 3\u03c0cm\n(C) 4\u03c0cm\n(D) 5\u03c0cm", 29 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Is this function continuous at each point?\nChoices:\n(A) Yes\n(B) No", 30 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: \u5982\u56fe\uff0cAB\u662f\u2299O\u7684\u76f4\u5f84\uff0cEF\uff0cEB\u662f\u2299O\u7684\u5f26\uff0c\u70b9E\u662fFEB\u7684\u4e2d\u70b9\uff0cEF\u4e0eAB\u4ea4\u4e8e\u70b9C\uff0c\u8fde\u63a5OF\uff0c\u82e5\u2220AOF\uff1d40\u00b0\uff0c\u5219\u2220F\u7684\u5ea6\u6570\u662f\uff08\uff09\nChoices:\n(A) 20\u00b0\n(B) 35\u00b0\n(C) 40\u00b0\n(D) 55\u00b0", 31 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: What is the age gap between these two people in image? (Unit: years)", 32 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: How many bars have values smaller than 6?", 33 | "Hint: Please answer the question and provide the correct option letter, e.g., A, B, C, D, at the end.\nQuestion: Is this function odd or even?\nChoices:\n(A) odd\n(B) even", 34 | "Hint: Please answer the question requiring an integer answer and provide the final value, e.g., 1, 2, 3, at the end.\nQuestion: What is the age gap between these two people in image? (Unit: years)" 35 | ], 36 | "suffixes": [ 37 | "Thoughts:\nThe user is asking for the total volume of the measuring cup in grams.\nLooking at the measuring cup, I can see the volume markings in both 'Liter/Litre' and 'g'.\nThe maximum marking for 'g' is 1000 g.\nAnswer:\n1000", 38 | "Thoughts:\n\nThe question asks for the measure of angle BOC, given that OB and OC are the angle bisectors of angles B and C in triangle ABC, and angle A is 110 degrees.\n\nLet's break down the problem:\n\n1. **Understand the properties of angle bisectors:** An angle bisector divides an angle into two equal parts.\n2. **Understand the sum of angles in a triangle:** The sum of the interior angles of any triangle is 180 degrees.\n3. **Apply the given information:** We know \u2220A = 110\u00b0.\n\n**Step 1: Find the sum of angles B and C.**\nIn \u25b3ABC, we have \u2220A + \u2220B + \u2220C = 180\u00b0.\nSubstituting the given value of \u2220A, we get 110\u00b0 + \u2220B + \u2220C = 180\u00b0.\nTherefore, \u2220B + \u2220C = 180\u00b0 - 110\u00b0 = 70\u00b0.\n\n**Step 2: Find the measures of angles OBC and OCB.**\nSince OB is the angle bisector of \u2220B, \u2220OBC = (1/2)\u2220B.\nSince OC is the angle bisector of \u2220C, \u2220OCB = (1/2)\u2220C.\n\n**Step 3: Find the sum of angles OBC and OCB.**\n\u2220OBC + \u2220OCB = (1/2)\u2220B + (1/2)\u2220C = (1/2)(\u2220B + \u2220C).\nFrom Step 1, we know that \u2220B + \u2220C = 70\u00b0.\nSo, \u2220OBC + \u2220OCB = (1/2)(70\u00b0) = 35\u00b0.\n\n**Step 4: Find the measure of angle BOC in \u25b3OBC.**\nIn \u25b3OBC, the sum of the interior angles is \u2220OBC + \u2220OCB + \u2220BOC = 180\u00b0.\nSubstituting the value from Step 3, we get 35\u00b0 + \u2220BOC = 180\u00b0.\nTherefore, \u2220BOC = 180\u00b0 - 35\u00b0 = 145\u00b0.\n\n**Final check of the calculations:**\n- \u2220A + \u2220B + \u2220C = 180\u00b0 => 110\u00b0 + \u2220B + \u2220C = 180\u00b0 => \u2220B + \u2220C = 70\u00b0.\n- \u2220OBC = \u2220B/2, \u2220OCB = \u2220C/2.\n- \u2220OBC + \u2220OCB = (\u2220B + \u2220C)/2 = 70\u00b0/2 = 35\u00b0.\n- In \u25b3OBC, \u2220OBC + \u2220OCB + \u2220BOC = 180\u00b0 => 35\u00b0 + \u2220BOC = 180\u00b0 => \u2220BOC = 145\u00b0.\n\nThe calculation seems correct. Now let's match the answer with the given options.\n\nThe calculated value of \u2220BOC is 145\u00b0.\nThe options are:\n(A) 135\u00b0\n(B) 140\u00b0\n(C) 145\u00b0\n(D) 150\u00b0\n\nThe correct option is (C).\n\nAnswer:\nLet \u25b3ABC be a triangle. OB and OC are the angle bisectors of the interior angles \u2220B and \u2220C, respectively. The angle bisectors intersect at point O. We are given that \u2220A = 110\u00b0. We need to find the measure of \u2220BOC.\n\nIn \u25b3ABC, the sum of the interior angles is 180\u00b0.\n\u2220A + \u2220B + \u2220C = 180\u00b0\nGiven \u2220A = 110\u00b0, we can substitute this value into the equation:\n110\u00b0 + \u2220B + \u2220C = 180\u00b0\n\u2220B + \u2220C = 180\u00b0 - 110\u00b0\n\u2220B + \u2220C = 70\u00b0\n\nSince OB is the angle bisector of \u2220B, we have \u2220OBC = $\\frac{1}{2}$\u2220B.\nSince OC is the angle bisector of \u2220C, we have \u2220OCB = $\\frac{1}{2}$\u2220C.\n\nNow consider \u25b3OBC. The sum of the interior angles is 180\u00b0.\n\u2220OBC + \u2220OCB + \u2220BOC = 180\u00b0\nSubstitute the expressions for \u2220OBC and \u2220OCB:\n$\\frac{1}{2}$\u2220B + $\\frac{1}{2}$\u2220C + \u2220BOC = 180\u00b0\nFactor out $\\frac{1}{2}$:\n$\\frac{1}{2}$(\u2220B + \u2220C) + \u2220BOC = 180\u00b0\nWe know that \u2220B + \u2220C = 70\u00b0, so substitute this value:\n$\\frac{1}{2}$(70\u00b0) + \u2220BOC = 180\u00b0\n35\u00b0 + \u2220BOC = 180\u00b0\n\u2220BOC = 180\u00b0 - 35\u00b0\n\u2220BOC = 145\u00b0\n\nFinal Answer: The final answer is $\\boxed{C}$", 39 | "Thoughts:\nThe user wants to count the remaining objects after removing specific items based on their description. I need to identify the \"large rubber spheres\" and \"big shiny cylinders\" in the image and subtract their count from the total number of objects.\n\n- Objects in the image:\n - Green sphere (appears large and rubbery)\n - Purple cylinder\n - Silver cube (appears shiny, but not a cylinder)\n - Yellow cube\n - Gold cylinder (appears big and shiny)\n - Small purple sphere\n\n- \"Large rubber spheres\": The green sphere seems to fit this description. Count: 1.\n- \"Big shiny cylinders\": The gold cylinder fits this description. Count: 1.\n\nTotal objects initially: 6\nObjects to subtract: 1 (large rubber sphere) + 1 (big shiny cylinder) = 2\nRemaining objects: 6 - 2 = 4\nAnswer:\nThere are 4 objects left.\n", 40 | "Thoughts:\n\nThe problem asks for the measure of angle H in the given pentagon. The measures of the interior angles of the pentagon are given in terms of a variable $x$. To find the measure of angle H, we first need to find the value of $x$.\n\nThe sum of the interior angles of a polygon with $n$ sides is given by the formula $(n-2) \\times 180^\\circ$.\nIn this case, the polygon is a pentagon, so $n=5$.\nThe sum of the interior angles of the pentagon is $(5-2) \\times 180^\\circ = 3 \\times 180^\\circ = 540^\\circ$.\n\nThe interior angles of the pentagon are given as:\n$m\\angle E = x^\\circ$\n$m\\angle F = (x+20)^\\circ$\n$m\\angle G = (x+5)^\\circ$\n$m\\angle H = (x-5)^\\circ$\n$m\\angle J = (x+10)^\\circ$\n\nThe sum of these angles must equal $540^\\circ$:\n$x + (x+20) + (x+5) + (x-5) + (x+10) = 540$\n\nCombine the terms involving $x$:\n$x + x + x + x + x = 5x$\n\nCombine the constant terms:\n$20 + 5 - 5 + 10 = 30$\n\nSo the equation becomes:\n$5x + 30 = 540$\n\nNow, solve for $x$:\n$5x = 540 - 30$\n$5x = 510$\n$x = \\frac{510}{5}$\n\nTo calculate $\\frac{510}{5}$, we can divide 510 by 5:\n$510 \\div 5 = (500 + 10) \\div 5 = (500 \\div 5) + (10 \\div 5) = 100 + 2 = 102$\nSo, $x = 102$.\n\nNow that we have the value of $x$, we can find the measure of angle H.\n$m\\angle H = (x-5)^\\circ$\nSubstitute the value of $x$:\n$m\\angle H = (102 - 5)^\\circ$\n$m\\angle H = 97^\\circ$\n\nThe measure of angle H is $97^\\circ$.\n\nNow, let's check the options provided:\n(A) 97\n(B) 102\n(C) 107\n(D) 122\n\nThe calculated measure of angle H matches option (A).\n\nLet's also calculate the measures of the other angles to verify the sum:\n$m\\angle E = x^\\circ = 102^\\circ$\n$m\\angle F = (x+20)^\\circ = (102+20)^\\circ = 122^\\circ$\n$m\\angle G = (x+5)^\\circ = (102+5)^\\circ = 107^\\circ$\n$m\\angle H = (x-5)^\\circ = (102-5)^\\circ = 97^\\circ$\n$m\\angle J = (x+10)^\\circ = (102+10)^\\circ = 112^\\circ$\n\nSum of the angles:\n$102 + 122 + 107 + 97 + 112$\n\nGroup the numbers for easier addition:\n$(102 + 97) + (122 + 107) + 112$\n$199 + 229 + 112$\n\n$199 + 229 = 428$\n$428 + 112 = 540$\n\nThe sum of the interior angles is indeed $540^\\circ$, which confirms our value of $x$ is correct.\n\nThe question asks for the measure of angle H, which we found to be $97^\\circ$.\nThe correct option is (A).\n\nAnswer:\nSolution:\nThe sum of the interior angles of a polygon with $n$ sides is given by the formula $(n-2) \\times 180^\\circ$. For a pentagon, $n=5$, so the sum of the interior angles is $(5-2) \\times 180^\\circ = 3 \\times 180^\\circ = 540^\\circ$.\n\nThe measures of the interior angles are given as:\n$m\\angle E = x^\\circ$\n$m\\angle F = (x+20)^\\circ$\n$m\\angle G = (x+5)^\\circ$\n$m\\angle H = (x-5)^\\circ$\n$m\\angle J = (x+10)^\\circ$\n\nThe sum of these angles is:\n$x + (x+20) + (x+5) + (x-5) + (x+10) = 540$\n\nCombine like terms:\n$(x+x+x+x+x) + (20+5-5+10) = 540$\n$5x + 30 = 540$\n\nSolve for $x$:\n$5x = 540 - 30$\n$5x = 510$\n$x = \\frac{510}{5}$\n$x = 102$\n\nNow, find the measure of angle H:\n$m\\angle H = (x-5)^\\circ$\nSubstitute the value of $x$:\n$m\\angle H = (102 - 5)^\\circ$\n$m\\angle H = 97^\\circ$\n\nThe measure of angle H is $97^\\circ$. Comparing this with the given choices, we find that it matches option (A).\n\nFinal Answer: The final answer is $\\boxed{A}$", 41 | "Thoughts:\nLet's break this down. The user wants to solve a geometry problem based on a line segment with labelled points.\n\n**1. Understanding the Given Information:**\n\n* CB = 4.0 (The distance between points C and B is 4.0 units)\n* DB = 7.0 (The distance between points D and B is 7.0 units)\n* D is the midpoint of AC (This means AD = DC)\n\n**2. Visualizing the Line Segment:**\n\nThe image clearly shows the order of the points: A - D - C - B.\n\n**3. Finding the Length of DC:**\n\nSince D lies between C and B, we can find the length of DC by subtracting CB from DB:\n\nDC = DB - CB\nDC = 7.0 - 4.0\nDC = 3.0\n\n**4. Finding the Length of AC:**\n\nWe know that D is the midpoint of AC, which means AD = DC. Since we've found DC, we know AD as well.\n\nAD = DC = 3.0\n\nThe length of AC is the sum of AD and DC:\n\nAC = AD + DC\nAC = 3.0 + 3.0\nAC = 6.0\n\n**5. Matching the Answer to the Choices:**\n\nThe calculated length of AC is 6.0. Looking at the choices, option (A) is 6cm. Although the question doesn't specify units, the choices use \"cm\", and the numerical value matches.\n\n**Final Answer Formulation:**\n\nThe length of AC is 6. The corresponding option is A.\nAnswer:\nHere's how to solve the problem:\n\n1. **Find the length of DC:** Since D, C, and B are collinear points and D lies between C and B, we can find the length of DC by subtracting CB from DB:\n DC = DB - CB = 7.0 - 4.0 = 3.0\n\n2. **Use the midpoint information:** We are given that D is the midpoint of AC. This means that the length of AD is equal to the length of DC.\n AD = DC = 3.0\n\n3. **Find the length of AC:** The length of AC is the sum of the lengths of AD and DC:\n AC = AD + DC = 3.0 + 3.0 = 6.0\n\nTherefore, the length of AC is 6.0.\n\nFinal Answer: (A)", 42 | "Thoughts:\nThe user wants to know the number of objects remaining after removing red objects and tiny matte balls.\nI need to identify the red objects and the tiny matte balls.\nThe red object is the sphere in the middle.\nThe tiny matte ball is the turquoise sphere at the bottom.\nThere are 7 objects in total.\nRemoving the red sphere leaves 6 objects.\nRemoving the turquoise sphere leaves 5 objects.\nAnswer:\n5", 43 | "Thoughts:\nThe user is asking to compare the number of metallic fighters and rubber objects in the image.\n- I need to identify the metallic fighters and count them.\n- I need to identify the rubber objects and count them.\n- Then I will compare the counts and answer the question.\n\nThe metallic fighter is the blue and yellow toy airplane. There is one metallic fighter.\nThe rubber object is the green bicycle. There is one rubber bicycle.\n\nThe number of metallic fighters (1) is not fewer than the number of rubber objects (1).\nAnswer:\n**A**", 44 | "Thoughts:\nThe user is asking for the number of objects that have a preference percentage greater than 90 in at least one category. I need to examine the bar chart to find the bars that exceed the 90% mark.\n\n- For 'ditch', the 'grease' category is at 90%. Not greater than 90.\n- For 'want', no category exceeds 90%.\n- For 'homer', the 'afraid' category is near 90%, but not greater.\n- For 'slide', no category exceeds 90%.\n- For 'mare', the 'grease' category is at 90%. Not greater than 90.\n- For 'rebel', no category exceeds 90%.\n\nIt seems like none of the objects have a preference greater than 90% in any category. Double-check the graph.\n\nAh, looking closer at 'ditch' and 'grease', the bar looks slightly above the 90% line. I need to be precise. Visually, it's very close.\n\nLet's re-examine each object and category:\n- ditch: racing ~80, afraid ~20, grease ~90.\n- want: racing ~20, afraid ~30, grease ~10.\n- homer: racing ~80, afraid ~90, grease ~60.\n- slide: racing ~80, afraid ~40, grease ~10.\n- mare: racing ~10, afraid ~50, grease ~90.\n- rebel: racing ~40, afraid ~70, grease ~10.\n\nStill, none are strictly greater than 90%.\n\nWait, the user asked for \"more than 90 percent\". So exactly 90% doesn't count. My initial assessment was correct.\nAnswer:\nBased on the provided bar chart:\n- For the object \"ditch\", the \"grease\" category has a preference of approximately 90%.\n- For the object \"want\", none of the categories have a preference greater than 90%.\n- For the object \"homer\", the \"afraid\" category has a preference of approximately 90%.\n- For the object \"slide\", none of the categories have a preference greater than 90%.\n- For the object \"mare\", the \"grease\" category has a preference of approximately 90%.\n- For the object \"rebel\", none of the categories have a preference greater than 90%.\n\nNone of the bars clearly extend beyond the 90% mark.\n\n0\n", 45 | "Thoughts:\nThe user wants to compare the number of tiny objects behind the small metal jet with the number of tiny things left of the tiny sedan.\n\n- First, I need to identify the \"small metal jet\". Based on the image, it is the purple and blue object with wings.\n- Second, I need to identify the \"tiny sedan\". Based on the image, it is the red car.\n- Third, I need to count the number of tiny objects behind the small metal jet. There are no tiny objects behind the jet.\n- Fourth, I need to count the number of tiny things left of the tiny sedan. The tiny things to the left of the red car are a green bicycle.\n- Fifth, compare the counts: 0 (behind the jet) and 1 (left of the sedan).\n- Since 0 is less than 1, the statement is true.\nAnswer:\nThe number of tiny objects behind the small metal jet is 0. The number of tiny things left of the tiny sedan is 1 (the bicycle). Therefore, the number of tiny objects behind the small metal jet is less than the number of tiny things left of the tiny sedan.\n\nAnswer: (A)", 46 | "Thoughts:\nThe user is asking to identify the organism that would be most affected by the elimination of algae based on the provided food web. I need to examine the arrows originating from 'Algae' to determine which organism directly consumes it.\n\nAccording to the diagram, the arrow from 'Algae' points to 'Common water flea'. This indicates that the common water flea directly relies on algae for food. Therefore, its population would be most directly and significantly affected if algae were eliminated.\nAnswer:\nAnswer: (B)", 47 | "Thoughts:\nThe user wants to count the number of items that sold less than 5 units in at least one store.\nI need to look at each item ('candy' and 'cook') and for each item, check if the sales in any of the stores ('very', 'mill', 'cop', 'dot') were less than 5.\n\nFor 'candy':\n- very: 3 (less than 5)\n- mill: 6 (not less than 5)\n- cop: 9 (not less than 5)\n- dot: 5 (not less than 5)\nSo, 'candy' sold less than 5 units in at least one store ('very').\n\nFor 'cook':\n- very: 3 (less than 5)\n- mill: 3 (less than 5)\n- cop: 5 (not less than 5)\n- dot: 7 (not less than 5)\nSo, 'cook' sold less than 5 units in at least one store ('very', 'mill').\n\nBoth 'candy' and 'cook' sold less than 5 units in at least one store. So the answer is 2.\nAnswer:\n2", 48 | "Thoughts:\nThe user wants to identify the question that the described experiment can answer. I need to carefully read the experiment description and then evaluate the provided choices.\n\nThe experiment compares the time it takes for the snowboard to go down the hill *with* wax versus *without* wax.\n\nOption A compares thin vs thick wax, which is not what the experiment tested.\nOption B compares with wax vs without wax, which is exactly what the experiment tested.\nAnswer:\nAnswer: (B)", 49 | "Thoughts:\nThe user is asking for the maximum volume the beaker can measure based on the provided image. I need to look for the highest number on the graduated scale of the beaker.\nAnswer:\n400", 50 | "Thoughts:\nThe user is asking to compare the sum of the two smallest values with the largest value in the bar chart.\n- Identify the values for each bar.\n- The values are: Czechia (21.37%), Paraguay (12.51%), and Laos (9.29%).\n- Identify the smallest two values: Laos (9.29%) and Paraguay (12.51%).\n- Identify the largest value: Czechia (21.37%).\n- Calculate the sum of the two smallest values: 9.29% + 12.51% = 21.80%.\n- Compare the sum with the largest value: 21.80% > 21.37%.\n- The sum of the smallest two bars is greater than the largest bar.\nAnswer:\nRationale:\nThe values for each bar are as follows:\n- Czechia: 21.37%\n- Paraguay: 12.51%\n- Laos: 9.29%\n\nThe two smallest values are for Laos (9.29%) and Paraguay (12.51%).\nThe sum of these two values is 9.29% + 12.51% = 21.80%.\n\nThe largest value is for Czechia (21.37%).\n\nComparing the sum of the smallest two values with the largest value:\n21.80% > 21.37%\n\nTherefore, the sum of the smallest two bars is greater than the largest bar.\n\nFinal Answer: (A)", 51 | "Thoughts:\nThe user wants me to fill in the blank in the sentence \"The model has 4 dots divided into 2 equal groups. There are (_) dots in each group.\" based on the provided image.\n\nI can see two groups of blue dots in the image. The first group has 3 dots, and the second group has 3 dots.\n\nThe question states that the model has 4 dots. This contradicts what I see in the image. I should go with what the question states.\n\nIf there are 4 dots divided into 2 equal groups, then the number of dots in each group is 4 / 2 = 2.\nAnswer:\nThe model has 4 dots divided into 2 equal groups. There are (2) dots in each group.\n2", 52 | "Thoughts:\nThe user wants to know how many people in the image were born after the end of World War II.\nWorld War II ended in 1945.\nI need to determine the birth year of each person in the image.\nThe image seems to be from an older era, likely before 1945.\nWithout additional information, it's highly probable that none of the individuals were born after 1945.\nThere are three people in the image.\nI will assume that all individuals in the photo were born before the end of WWII.\nAnswer:\n0\n", 53 | "Thoughts:\nThe question asks to compare the derivative of the function f(x) = |2x - 3| + 1 at x=2 and x=5.\n\nFirst, let's find the derivative of f(x).\nThe function f(x) = |2x - 3| + 1 can be written as a piecewise function:\nIf 2x - 3 >= 0, which means x >= 3/2, then f(x) = (2x - 3) + 1 = 2x - 2.\nIf 2x - 3 < 0, which means x < 3/2, then f(x) = -(2x - 3) + 1 = -2x + 3 + 1 = -2x + 4.\n\nSo, the piecewise function is:\nf(x) = 2x - 2, for x >= 3/2\nf(x) = -2x + 4, for x < 3/2\n\nNow, let's find the derivative of f(x) for each part:\nFor x > 3/2, f'(x) = d/dx (2x - 2) = 2.\nFor x < 3/2, f'(x) = d/dx (-2x + 4) = -2.\nThe derivative is not defined at x = 3/2.\n\nNow we need to evaluate the derivative at x=2 and x=5.\nFor x=2:\nSince 2 > 3/2, we use the derivative for x > 3/2.\nf'(2) = 2.\n\nFor x=5:\nSince 5 > 3/2, we use the derivative for x > 3/2.\nf'(5) = 2.\n\nComparing the derivatives at x=2 and x=5:\nf'(2) = 2\nf'(5) = 2\n\nSo, the derivative of f(x) at x=2 is equal to that at x=5.\n\nAnother way to think about this is by looking at the graph.\nThe function f(x) = |2x - 3| + 1 has a vertex where 2x - 3 = 0, which is x = 3/2.\nFor x > 3/2, the function is a line with a positive slope.\nFor x < 3/2, the function is a line with a negative slope.\n\nx=2 is in the region where x > 3/2, so the slope is positive.\nx=5 is in the region where x > 3/2, so the slope is positive.\n\nSince f(x) = 2x - 2 for x >= 3/2, the slope is always 2 in this region.\nTherefore, the derivative at x=2 is 2 and the derivative at x=5 is 2.\n\nThe derivative at x=2 is equal to the derivative at x=5.\nAnswer:\nThe function is given as f(x) = |2x - 3| + 1.\nTo find the derivative, we first express the absolute value function as a piecewise function:\n|2x - 3| =\n 2x - 3, if 2x - 3 \u2265 0 => x \u2265 3/2\n -(2x - 3), if 2x - 3 < 0 => x < 3/2\n\nSo, f(x) can be written as:\nf(x) =\n (2x - 3) + 1 = 2x - 2, if x \u2265 3/2\n -(2x - 3) + 1 = -2x + 3 + 1 = -2x + 4, if x < 3/2\n\nNow, we find the derivative of f(x) for each case:\nFor x > 3/2, f'(x) = d/dx (2x - 2) = 2.\nFor x < 3/2, f'(x) = d/dx (-2x + 4) = -2.\n\nWe need to find the derivative at x=2 and x=5.\nFor x=2:\nSince 2 > 3/2, we use the derivative for x > 3/2.\nf'(2) = 2.\n\nFor x=5:\nSince 5 > 3/2, we use the derivative for x > 3/2.\nf'(5) = 2.\n\nComparing the derivatives at x=2 and x=5:\nf'(2) = 2\nf'(5) = 2\n\nTherefore, the derivative of f(x) at x=2 is equal to that at x=5.\n\nFinal Answer: The final answer is $\\boxed{B}$", 54 | "Thoughts:\nThe user is asking whether the bar corresponding to 'Periwinkle' is the tallest in the bar chart. I need to examine the chart and compare the height of the 'Periwinkle' bar with the other bars. The 'Tomato' bar appears to be the tallest.\nAnswer:\nAnswer: (B)", 55 | "Thoughts:\nThe user is asking to compare the bar lengths for \"Black\" and \"Deep Sky Blue\" in the provided horizontal bar chart. I need to visually inspect the chart to determine if the bar for Black is longer than the bar for Deep Sky Blue.\n\nBased on the chart, the bar for Black appears to be shorter than the bar for Deep Sky Blue.\nAnswer:\nAnswer: (B)", 56 | "Thoughts:\nThe user wants to find the age difference between the two people in the image.\nI need to identify the two people and find their birth dates to calculate the age difference.\nThe person on the left looks like Thorbj\u00f8rn Jagland, and the person on the right is Barack Obama.\nThorbj\u00f8rn Jagland was born on November 9, 1950.\nBarack Obama was born on August 4, 1961.\nThe age difference is 1961 - 1950 = 11 years.\nLet's double check the months.\nFor a specific date, if the birth month of the older person is earlier than the younger person, the age difference is simply the year difference.\nNovember is later than August, so the age difference is indeed 11 years.\nAnswer:\n11", 57 | "Thoughts:\nThe problem involves a circle with a diameter $\\overline{AB}$ and a triangle inscribed in the circle with vertices A, B, and C. We are given the lengths of two sides of the triangle, $AC=8$ inches and $BC=15$ inches. We need to find the radius of the circle.\n\nSince $\\overline{AB}$ is a diameter of the circle, any triangle inscribed in the circle with $\\overline{AB}$ as one of its sides is a right-angled triangle. The angle opposite the diameter is a right angle. Therefore, $\\angle ACB = 90^\\circ$.\n\nWe can use the Pythagorean theorem to find the length of the diameter $\\overline{AB}$. The Pythagorean theorem states that in a right-angled triangle, the square of the hypotenuse is equal to the sum of the squares of the other two sides. In this case, $\\overline{AB}$ is the hypotenuse.\n\nSo, $AB^2 = AC^2 + BC^2$.\nSubstitute the given values:\n$AB^2 = 8^2 + 15^2$\n$AB^2 = 64 + 225$\n$AB^2 = 289$\n\nTo find the length of the diameter $AB$, take the square root of both sides:\n$AB = \\sqrt{289}$\n$AB = 17$ inches\n\nThe radius of the circle is half the length of the diameter.\nRadius = $\\frac{AB}{2}$\nRadius = $\\frac{17}{2}$\nRadius = 8.5 inches\n\nNow, we compare the calculated radius with the given choices.\n(A) 7.5\n(B) 8\n(C) 8.5\n(D) 17\n\nThe calculated radius is 8.5 inches, which matches option (C).\nAnswer:\nSolution:\nThe problem states that $\\overline{AB}$ is a diameter of the circle. Triangle $ABC$ is inscribed in the circle. Since $\\overline{AB}$ is a diameter, the angle subtended by the diameter at any point on the circumference is a right angle. Therefore, $\\angle ACB = 90^\\circ$. This means that triangle $ABC$ is a right-angled triangle with the right angle at $C$.\n\nWe are given the lengths of the two sides adjacent to the right angle: $AC = 8$ inches and $BC = 15$ inches. According to the Pythagorean theorem, in a right-angled triangle, the square of the hypotenuse is equal to the sum of the squares of the other two sides. In this case, the hypotenuse is the diameter $\\overline{AB}$.\n\nSo, we have:\n$AB^2 = AC^2 + BC^2$\nSubstitute the given values:\n$AB^2 = 8^2 + 15^2$\n$AB^2 = 64 + 225$\n$AB^2 = 289$\n\nTo find the length of the diameter $AB$, we take the square root of both sides:\n$AB = \\sqrt{289}$\n$AB = 17$ inches\n\nThe radius of the circle is half the length of the diameter.\nRadius = $\\frac{AB}{2}$\nRadius = $\\frac{17}{2}$\nRadius = 8.5 inches\n\nComparing the calculated radius with the given choices:\n(A) 7.5\n(B) 8\n(C) 8.5\n(D) 17\n\nThe correct radius is 8.5 inches, which corresponds to option (C).\n\nFinal Answer: The final answer is $\\boxed{C}$", 58 | "Thoughts:\nThe user is asking for the age difference between the two people depicted in the stained glass.\nThe stained glass depicts King Richard III and Anne Neville.\nI need to find their birth years and calculate the difference.\nKing Richard III: 1452\nAnne Neville: 1456\nAge difference = 1456 - 1452 = 4 years.\nAnswer:\n4", 59 | "Thoughts:\nLet's analyze the given information. We have a circle with two chords AB and CD intersecting at point E. We are given the measure of angle D and the measure of angle AEC. We need to find the measure of angle C.\n\nGiven:\n\u2220D = 35.0\u00b0\n\u2220AEC = 105.0\u00b0\n\nWe need to find \u2220C.\n\nFrom the geometry of intersecting lines, we know that vertically opposite angles are equal. Therefore, \u2220DEB = \u2220AEC = 105.0\u00b0.\n\nConsider triangle ADE. The sum of angles in a triangle is 180\u00b0.\nSo, in triangle ADE, \u2220DAE + \u2220ADE + \u2220AED = 180\u00b0.\nWe know \u2220ADE = \u2220D = 35.0\u00b0 and \u2220AED is the supplement of \u2220AEC.\nHowever, it looks like the angles are inside the triangle, so \u2220AED is part of the triangle.\nActually, in triangle ADE, we have \u2220DAE + \u2220ADE + \u2220AED = 180\u00b0.\n\u2220AED and \u2220AEC are supplementary angles if they form a linear pair, which they do not in this case. \u2220AED is an angle within triangle ADE.\n\nConsider triangles AEC and DEB.\n\u2220AEC = \u2220DEB (vertically opposite angles) = 105.0\u00b0.\n\nConsider triangle ADE. We have \u2220D = 35\u00b0. We need to find \u2220A.\nConsider triangle CBE. We need to find \u2220C.\n\nIn triangle ADE, \u2220DAE + \u2220ADE + \u2220AED = 180\u00b0.\n\u2220AED = 180\u00b0 - \u2220DAE - \u2220ADE\n\nIn triangle CBE, \u2220CBE + \u2220BCE + \u2220BEC = 180\u00b0.\n\u2220BEC = \u2220AED (vertically opposite angles).\n\nWe know that angles subtended by the same arc are equal.\n\u2220D and \u2220B subtend the same arc AC. So, \u2220B = \u2220D = 35.0\u00b0. This is incorrect, as they subtend different arcs.\n\nAngles subtended by the same arc are equal.\n\u2220CAD and \u2220CBD subtend arc CD.\n\u2220ACB and \u2220ADB subtend arc AB.\n\nConsider triangle CDE.\n\u2220C + \u2220D + \u2220CED = 180\u00b0.\nWe know \u2220D = 35\u00b0. We need to find \u2220CED.\n\u2220CED and \u2220AEC are supplementary angles.\n\u2220CED + \u2220AEC = 180\u00b0.\n\u2220CED = 180\u00b0 - \u2220AEC = 180\u00b0 - 105.0\u00b0 = 75.0\u00b0.\n\nNow in triangle CDE:\n\u2220C + \u2220D + \u2220CED = 180\u00b0\n\u2220C + 35.0\u00b0 + 75.0\u00b0 = 180\u00b0\n\u2220C + 110.0\u00b0 = 180\u00b0\n\u2220C = 180\u00b0 - 110.0\u00b0\n\u2220C = 70.0\u00b0\n\nAlternatively, consider triangle ABE.\n\u2220BAE + \u2220ABE + \u2220AEB = 180\u00b0.\n\u2220AEB = \u2220CED = 75.0\u00b0.\n\nConsider the property that the exterior angle of a triangle is equal to the sum of the two opposite interior angles.\nIn triangle CDE, \u2220AEC is an exterior angle.\n\u2220AEC = \u2220C + \u2220D\n105.0\u00b0 = \u2220C + 35.0\u00b0\n\u2220C = 105.0\u00b0 - 35.0\u00b0\n\u2220C = 70.0\u00b0\n\nThis approach seems more direct and correct. Let's double-check the reasoning.\n\nConsider triangle ADE. The exterior angle at E is \u2220CEB, which is equal to \u2220A + \u2220D.\nConsider triangle CBE. The exterior angle at E is \u2220AED, which is equal to \u2220C + \u2220B.\n\nWe are given \u2220AEC = 105\u00b0.\nConsider triangle CDE. \u2220AEC is an exterior angle.\nThe non-adjacent interior angles are \u2220C and \u2220D.\nSo, \u2220AEC = \u2220C + \u2220D.\n105.0\u00b0 = \u2220C + 35.0\u00b0\n\u2220C = 105.0\u00b0 - 35.0\u00b0\n\u2220C = 70.0\u00b0\n\nThe result seems consistent using the exterior angle theorem.\nAnswer:\nGiven the circle with chords AB and CD intersecting at E. We are given the following angles:\n\u2220D = 35.0\u00b0\n\u2220AEC = 105.0\u00b0\n\nWe want to find the measure of angle C (\u2220BCE).\n\nConsider triangle CDE. The exterior angle at vertex E is \u2220AEC. According to the exterior angle theorem, the measure of an exterior angle of a triangle is equal to the sum of the measures of the two nonadjacent interior angles.\n\nIn triangle CDE, the exterior angle \u2220AEC is opposite to the interior angles \u2220C and \u2220D. Therefore, we have:\n\u2220AEC = \u2220C + \u2220D\n\nSubstitute the given values into the equation:\n105.0\u00b0 = \u2220C + 35.0\u00b0\n\nTo solve for \u2220C, subtract 35.0\u00b0 from both sides of the equation:\n\u2220C = 105.0\u00b0 - 35.0\u00b0\n\u2220C = 70.0\u00b0\n\nThus, the measure of angle C is 70.0\u00b0.\n\nFinal Answer: The final answer is $\\boxed{B}$", 60 | "Thoughts:\nThe user is asking if the number of big red rubber double buses in front of a large red double bus is greater than the number of big green things.\nI need to count the number of big red rubber double buses in front of the large red double bus.\nI also need to count the number of big green things.\nThen I can compare the two counts.\n\nLooking at the image, there is one big red rubber double bus.\nLooking at the image, there is one big green car.\n1 is not greater than 1.\nAnswer:\nAnswer: (B)", 61 | "Thoughts:\n\nThe question asks for the measure of angle D in a parallelogram ABCD, given that AB = AC and angle CAB = 40 degrees.\n\n1. **Analyze the given information:**\n - ABCD is a parallelogram. This means opposite sides are parallel and equal in length, and opposite angles are equal. Also, consecutive angles are supplementary (add up to 180 degrees).\n - AB = AC. This means triangle ABC is an isosceles triangle with base BC.\n - \u2220CAB = 40\u00b0.\n\n2. **Find angles within triangle ABC:**\n - Since triangle ABC is isosceles with AB = AC, the base angles \u2220ABC and \u2220ACB are equal.\n - The sum of angles in a triangle is 180\u00b0. So, \u2220ABC + \u2220ACB + \u2220CAB = 180\u00b0.\n - Substituting the given value, \u2220ABC + \u2220ACB + 40\u00b0 = 180\u00b0.\n - \u2220ABC + \u2220ACB = 180\u00b0 - 40\u00b0 = 140\u00b0.\n - Since \u2220ABC = \u2220ACB, we have 2 * \u2220ABC = 140\u00b0.\n - \u2220ABC = 140\u00b0 / 2 = 70\u00b0.\n - Therefore, \u2220ACB = 70\u00b0 as well.\n\n3. **Use properties of a parallelogram to find \u2220D:**\n - In a parallelogram, consecutive angles are supplementary. This means \u2220A + \u2220B = 180\u00b0, \u2220B + \u2220C = 180\u00b0, \u2220C + \u2220D = 180\u00b0, and \u2220D + \u2220A = 180\u00b0.\n - We know \u2220B = \u2220ABC = 70\u00b0.\n - We can find \u2220A by considering the angles around vertex A. \u2220A is made up of \u2220CAB and \u2220CAD. However, a more direct approach uses the supplementary angle property.\n - Alternatively, we can use the fact that opposite angles are equal in a parallelogram. So, \u2220D = \u2220B.\n\nLet's re-evaluate the calculation of angle A.\n\nThe angle at vertex A of the parallelogram is \u2220DAB. We know \u2220CAB = 40\u00b0.\n\nUsing consecutive angles:\n\u2220A + \u2220B = 180\u00b0\n\u2220DAB + 70\u00b0 = 180\u00b0\n\u2220DAB = 180\u00b0 - 70\u00b0 = 110\u00b0\n\nUsing opposite angles:\n\u2220D = \u2220B = 70\u00b0\n\nWait, the above reasoning seems off. Let's rethink the use of parallelogram properties carefully.\n\nWe found \u2220ABC = 70\u00b0. In parallelogram ABCD, opposite angles are equal, so \u2220ADC (which is \u2220D) = \u2220ABC.\n\nTherefore, \u2220D = 70\u00b0.\n\nLet's double-check with another property. Consecutive angles are supplementary.\n\u2220A + \u2220B = 180\u00b0\nWe need to find the full angle at A, which is \u2220DAB.\n\nIn triangle ABC, angles are 40\u00b0, 70\u00b0, 70\u00b0.\n\nSince ABCD is a parallelogram, AB || DC.\nThis means that the alternate interior angles \u2220BAC and \u2220ACD are equal.\nHowever, this is not directly helpful for finding \u2220D.\n\nConsider the consecutive angles \u2220A and \u2220B.\n\u2220DAB + \u2220ABC = 180\u00b0\nWe know \u2220ABC = 70\u00b0.\n\nLet's use the property that opposite angles are equal: \u2220D = \u2220B.\nSince \u2220B = \u2220ABC = 70\u00b0, then \u2220D = 70\u00b0.\n\nThis seems consistent. Let's verify using another approach.\n\nConsider triangle ABC. We have angles 40\u00b0, 70\u00b0, 70\u00b0.\n\nSince ABCD is a parallelogram, AD || BC.\nThis implies that consecutive interior angles \u2220DAB and \u2220ABC are supplementary.\n\u2220DAB + \u2220ABC = 180\u00b0\n\u2220DAB + 70\u00b0 = 180\u00b0\n\u2220DAB = 110\u00b0\n\nThe angle at vertex A is 110\u00b0. This angle is composed of \u2220CAB and \u2220CAD.\n\u2220CAB + \u2220CAD = 110\u00b0\n40\u00b0 + \u2220CAD = 110\u00b0\n\u2220CAD = 110\u00b0 - 40\u00b0 = 70\u00b0\n\nNow consider triangle ADC.\nWe know AD || BC, so alternate interior angles \u2220DAC and \u2220BCA are equal.\n\u2220DAC = \u2220BCA = 70\u00b0. This matches our calculation.\n\nAlso, AB || DC, so alternate interior angles \u2220BAC and \u2220ACD are equal.\n\u2220BAC = \u2220ACD = 40\u00b0.\n\nNow consider the angles of triangle ADC:\n\u2220DAC = 70\u00b0\n\u2220ACD = 40\u00b0\n\u2220ADC = ?\n\nSum of angles in triangle ADC: \u2220DAC + \u2220ACD + \u2220ADC = 180\u00b0\n70\u00b0 + 40\u00b0 + \u2220ADC = 180\u00b0\n110\u00b0 + \u2220ADC = 180\u00b0\n\u2220ADC = 180\u00b0 - 110\u00b0 = 70\u00b0\n\nSo, \u2220D = 70\u00b0.\n\nThe question asks for the measure of angle D.\n\nFinal check:\n- Parallelogram properties used: opposite angles are equal, consecutive angles are supplementary.\n- Triangle properties used: sum of angles is 180\u00b0, properties of isosceles triangles.\n\nGiven: Parallelogram ABCD, AB = AC, \u2220CAB = 40\u00b0.\n\nIn triangle ABC, AB = AC, so \u2220ABC = \u2220ACB.\n\u2220ABC + \u2220ACB + \u2220CAB = 180\u00b0\n\u2220ABC + \u2220ACB + 40\u00b0 = 180\u00b0\n\u2220ABC + \u2220ACB = 140\u00b0\nSince \u2220ABC = \u2220ACB, 2 * \u2220ABC = 140\u00b0, so \u2220ABC = 70\u00b0.\nThus, \u2220ACB = 70\u00b0.\n\nIn parallelogram ABCD, opposite angles are equal, so \u2220D = \u2220B.\n\u2220B is the same as \u2220ABC, which is 70\u00b0.\nTherefore, \u2220D = 70\u00b0.\n\nThe options are:\n(A) 40\u00b0\n(B) 50\u00b0\n(C) 60\u00b0\n(D) 70\u00b0\n\nThe correct answer is 70\u00b0.\nThe correct option letter is D.\n\nAnswer:\n\u89e3\u9898\u6b65\u9aa4\u5982\u4e0b\uff1a\n\n1. **\u5206\u6790\u5df2\u77e5\u6761\u4ef6\uff1a**\n - \u56db\u8fb9\u5f62 ABCD \u662f\u5e73\u884c\u56db\u8fb9\u5f62\u3002\n - AB = AC\uff0c\u8fd9\u610f\u5473\u7740\u4e09\u89d2\u5f62 ABC \u662f\u7b49\u8170\u4e09\u89d2\u5f62\u3002\n - \u2220CAB = 40\u00b0\u3002\n\n2. **\u8ba1\u7b97\u4e09\u89d2\u5f62 ABC \u7684\u5185\u89d2\uff1a**\n - \u56e0\u4e3a AB = AC\uff0c\u6240\u4ee5\u4e09\u89d2\u5f62 ABC \u662f\u7b49\u8170\u4e09\u89d2\u5f62\uff0c\u5e95\u89d2\u76f8\u7b49\uff0c\u5373 \u2220ABC = \u2220ACB\u3002\n - \u4e09\u89d2\u5f62\u5185\u89d2\u548c\u4e3a 180\u00b0\uff0c\u6240\u4ee5 \u2220ABC + \u2220ACB + \u2220CAB = 180\u00b0\u3002\n - \u5c06\u5df2\u77e5\u6761\u4ef6\u4ee3\u5165\uff1a\u2220ABC + \u2220ACB + 40\u00b0 = 180\u00b0\u3002\n - \u89e3\u5f97\uff1a\u2220ABC + \u2220ACB = 180\u00b0 - 40\u00b0 = 140\u00b0\u3002\n - \u7531\u4e8e \u2220ABC = \u2220ACB\uff0c\u6240\u4ee5 2 * \u2220ABC = 140\u00b0\uff0c\u89e3\u5f97 \u2220ABC = 70\u00b0\u3002\n - \u56e0\u6b64\uff0c\u2220ACB = 70\u00b0\u3002\n\n3. **\u5229\u7528\u5e73\u884c\u56db\u8fb9\u5f62\u7684\u6027\u8d28\u6c42\u89e3 \u2220D\uff1a**\n - \u5e73\u884c\u56db\u8fb9\u5f62\u7684\u5bf9\u89d2\u76f8\u7b49\uff0c\u5373 \u2220D = \u2220B\u3002\n - \u2220B \u5c31\u662f \u2220ABC\uff0c\u6211\u4eec\u5df2\u8ba1\u7b97\u51fa \u2220ABC = 70\u00b0\u3002\n - \u6240\u4ee5\uff0c\u2220D = 70\u00b0\u3002\n\n\u6216\u8005\uff0c\u4e5f\u53ef\u4ee5\u5229\u7528\u5e73\u884c\u56db\u8fb9\u5f62\u7684\u90bb\u89d2\u4e92\u8865\u7684\u6027\u8d28\uff1a\n - \u5e73\u884c\u56db\u8fb9\u5f62\u7684\u90bb\u89d2\u548c\u4e3a 180\u00b0\uff0c\u5373 \u2220A + \u2220B = 180\u00b0\u3002\n - \u89d2 A \u662f\u6307 \u2220DAB\u3002\u5728\u4e09\u89d2\u5f62 ABC \u4e2d\uff0c\u6211\u4eec\u77e5\u9053 \u2220CAB = 40\u00b0\u3002\n - \u56e0\u4e3a AB//DC\uff0c\u6240\u4ee5 \u2220BAC = \u2220ACD = 40\u00b0 (\u5185\u9519\u89d2)\u3002\n - \u56e0\u4e3a AD//BC\uff0c\u6240\u4ee5 \u2220DAC = \u2220BCA = 70\u00b0 (\u5185\u9519\u89d2)\u3002\n - \u56e0\u6b64\uff0c\u2220DAB = \u2220DAC + \u2220CAB = 70\u00b0 + 40\u00b0 = 110\u00b0\u3002\n - \u6839\u636e\u90bb\u89d2\u4e92\u8865\uff0c\u2220DAB + \u2220ABC = 180\u00b0\uff0c\u6240\u4ee5 110\u00b0 + \u2220ABC = 180\u00b0\uff0c\u89e3\u5f97 \u2220ABC = 70\u00b0\u3002\n - \u7531\u4e8e\u5bf9\u89d2\u76f8\u7b49\uff0c\u2220D = \u2220B = 70\u00b0\u3002\n\n\u6700\u7ec8\u7b54\u6848\u4e3a 70\u00b0\u3002\n\nFinal Answer: The final answer is $\\boxed{D}$", 62 | "Thoughts:\n\nThe user wants to find the bottom perimeter of a cone formed by rolling a sector of a circle.\nThe sector has a central angle of 120 degrees and a radius of 6.0.\nThe radius of the sector becomes the slant height of the cone.\nThe arc length of the sector becomes the circumference of the base of the cone.\nArc length = (central angle / 360) * 2 * \u03c0 * radius\nArc length = (120 / 360) * 2 * \u03c0 * 6\nArc length = (1/3) * 12 * \u03c0\nArc length = 4\u03c0\nThe bottom perimeter of the paper cap is equal to the arc length of the sector.\nSo the answer is 4\u03c0 cm.\nThe correct option letter is C.\n\nAnswer:\nFinal Answer: The final answer is $\\boxed{C}$", 63 | "Thoughts:\nThe user is asking whether the function depicted in the graph is continuous at each point.\nA function is continuous at a point if there are no breaks or jumps in the graph at that point.\nObserving the graph, we can see that there are jumps at integer values of x. For example, at x = -5, the function jumps from y = 5 to y = 4. Similarly, at x = -4, the function jumps from y = 4 to y = 3, and so on.\nOn the right side of the y-axis, we can see jumps as well, for example, at x = 1, the function jumps from y = -1 to y = -2.\n\nTherefore, the function is not continuous at each point.\nAnswer:\nRationale: A function is continuous at a point if the limit of the function as x approaches that point is equal to the value of the function at that point. Graphically, this means there are no breaks or jumps in the graph. Observing the provided graph, we can see that there are clear breaks or jumps at integer values of x. For instance, at x = -5, the function value jumps from 5 to 4. Similarly, at x = 1, the function value jumps from -1 to -2. Since there are discontinuities (jumps) in the graph, the function is not continuous at each point.\n\nFinal Answer: (B)", 64 | "Thoughts:\n\nThe question asks for the measure of angle F in a circle with a given diameter and angles. Let's break down the problem and solve it step by step.\n\n**Understanding the Diagram and Given Information:**\n\n* AB is the diameter of circle O.\n* EF and EB are chords of circle O.\n* Point E is the midpoint of arc FEB. This implies that arc FE = arc EB.\n* EF intersects AB at point C.\n* OF is a radius of the circle.\n* \u2220AOF = 40\u00b0.\n\n**Goal:** Find the measure of \u2220F.\n\n**Step-by-step Solution:**\n\n1. **Relate arc measures and central angles:** Since arc FE = arc EB, the central angles subtended by these arcs are equal. Therefore, \u2220FOE = \u2220EOB.\n\n2. **Find \u2220FOB:** Since AB is the diameter, \u2220AOB is a straight angle, which is 180\u00b0. We are given \u2220AOF = 40\u00b0. Therefore, \u2220FOB = \u2220AOB - \u2220AOF = 180\u00b0 - 40\u00b0 = 140\u00b0.\n\n3. **Find \u2220FOE and \u2220EOB:** Since \u2220FOE = \u2220EOB and \u2220FOE + \u2220EOB = \u2220FOB, we have 2 * \u2220FOE = 140\u00b0. So, \u2220FOE = 140\u00b0 / 2 = 70\u00b0.\n\n4. **Consider triangle EOF:** OF and OE are both radii of the circle, so OF = OE. This means triangle EOF is an isosceles triangle.\n\n5. **Find \u2220OFE and \u2220OEF:** In isosceles triangle EOF, \u2220OFE = \u2220OEF. The sum of the angles in a triangle is 180\u00b0. Therefore, \u2220OFE + \u2220OEF + \u2220FOE = 180\u00b0. Substituting the known value: 2 * \u2220OFE + 70\u00b0 = 180\u00b0. Solving for \u2220OFE: 2 * \u2220OFE = 180\u00b0 - 70\u00b0 = 110\u00b0. So, \u2220OFE = 110\u00b0 / 2 = 55\u00b0.\n\n6. **Identify \u2220F:** \u2220F is the same as \u2220OFE.\n\n**Therefore, the measure of \u2220F is 55\u00b0.**\n\n**Double Check the Reasoning:**\n\n* The midpoint of an arc means the arcs are equal.\n* Equal arcs subtend equal central angles.\n* The angle on a straight line is 180\u00b0.\n* Properties of isosceles triangles (base angles are equal).\n* The sum of angles in a triangle is 180\u00b0.\n\nThe steps seem logical and the calculations are correct.\n\n**Final Answer Selection:**\n\nThe calculated value for \u2220F is 55\u00b0, which corresponds to option (D).\n\nAnswer:\n\u89e3\u9898\u6b65\u9aa4\u5982\u4e0b\uff1a\n\n1. **\u7406\u89e3\u9898\u610f\u548c\u56fe\u5f62:** \u9898\u76ee\u4e2dAB\u662f\u5706O\u7684\u76f4\u5f84\uff0cEF\u548cEB\u662f\u5706O\u7684\u5f26\uff0c\u70b9E\u662f\u5f27FEB\u7684\u4e2d\u70b9\uff0cEF\u4e0eAB\u4ea4\u4e8e\u70b9C\uff0c\u8fde\u63a5\u4e86\u534a\u5f84OF\u3002\u5df2\u77e5\u2220AOF\uff1d40\u00b0\uff0c\u8981\u6c42\u2220F\u7684\u5ea6\u6570\u3002\n\n2. **\u5229\u7528\u5f27\u7684\u4e2d\u70b9\u6027\u8d28:** \u56e0\u4e3a\u70b9E\u662f\u5f27FEB\u7684\u4e2d\u70b9\uff0c\u6240\u4ee5\u5f27FE\u7684\u5ea6\u6570\u7b49\u4e8e\u5f27EB\u7684\u5ea6\u6570\u3002\n\n3. **\u5229\u7528\u7b49\u5f27\u5bf9\u7b49\u5706\u5fc3\u89d2:** \u7531\u4e8e\u5f27FE = \u5f27EB\uff0c\u6240\u4ee5\u5b83\u4eec\u6240\u5bf9\u7684\u5706\u5fc3\u89d2\u76f8\u7b49\uff0c\u5373\u2220FOE = \u2220EOB\u3002\n\n4. **\u8ba1\u7b97\u2220FOB\u7684\u5ea6\u6570:** \u56e0\u4e3aAB\u662f\u76f4\u5f84\uff0c\u6240\u4ee5\u2220AOB\u662f\u5e73\u89d2\uff0c\u4e3a180\u00b0\u3002\u5df2\u77e5\u2220AOF = 40\u00b0\uff0c\u6240\u4ee5\u2220FOB = \u2220AOB - \u2220AOF = 180\u00b0 - 40\u00b0 = 140\u00b0\u3002\n\n5. **\u8ba1\u7b97\u2220FOE\u548c\u2220EOB\u7684\u5ea6\u6570:** \u56e0\u4e3a\u2220FOE = \u2220EOB\uff0c\u4e14\u2220FOE + \u2220EOB = \u2220FOB\uff0c\u6240\u4ee5 2\u2220FOE = 140\u00b0\uff0c\u89e3\u5f97\u2220FOE = 70\u00b0\u3002\n\n6. **\u5206\u6790\u4e09\u89d2\u5f62EOF:** \u56e0\u4e3aOF\u548cOE\u90fd\u662f\u5706O\u7684\u534a\u5f84\uff0c\u6240\u4ee5OF = OE\u3002\u56e0\u6b64\uff0c\u4e09\u89d2\u5f62EOF\u662f\u7b49\u8170\u4e09\u89d2\u5f62\u3002\n\n7. **\u8ba1\u7b97\u2220OFE\u548c\u2220OEF\u7684\u5ea6\u6570:** \u5728\u7b49\u8170\u4e09\u89d2\u5f62EOF\u4e2d\uff0c\u5e95\u89d2\u76f8\u7b49\uff0c\u5373\u2220OFE = \u2220OEF\u3002\u4e09\u89d2\u5f62\u7684\u5185\u89d2\u548c\u4e3a180\u00b0\uff0c\u6240\u4ee5 \u2220OFE + \u2220OEF + \u2220FOE = 180\u00b0\u3002\u5c06\u2220FOE = 70\u00b0\u4ee3\u5165\uff0c\u5f97\u5230 2\u2220OFE + 70\u00b0 = 180\u00b0\u3002\n\n8. **\u89e3\u65b9\u7a0b\u6c42\u2220OFE:** 2\u2220OFE = 180\u00b0 - 70\u00b0 = 110\u00b0\u3002\u6240\u4ee5\uff0c\u2220OFE = 110\u00b0 / 2 = 55\u00b0\u3002\n\n9. **\u786e\u5b9a\u2220F\u7684\u5ea6\u6570:** \u2220F\u5b9e\u9645\u4e0a\u5c31\u662f\u2220OFE\u3002\n\n\u56e0\u6b64\uff0c\u2220F\u7684\u5ea6\u6570\u662f55\u00b0\u3002\n\nFinal Answer: The final answer is $\\boxed{D}$", 65 | "Thoughts:\nThe user wants to find the age difference between the two people in the image. I need to identify the individuals and find their birth dates to calculate the age gap.\n\nThe person on the left looks like Gurbanguly Berdimuhamedow, and the person on the right looks like Hassan Rouhani.\n\nGurbanguly Berdimuhamedow was born on June 29, 1957.\nHassan Rouhani was born on November 12, 1948.\n\nAge of Gurbanguly Berdimuhamedow as of today (October 27, 2023): 66 years\nAge of Hassan Rouhani as of today (October 27, 2023): 74 years\n\nAge difference = 74 - 66 = 8 years.\n\nLet's double-check the information with official sources.\n\nAccording to Wikipedia:\nGurbanguly Berdimuhamedow: born June 29, 1957\nHassan Rouhani: born November 12, 1948\n\nAge difference is indeed 8 years.\nAnswer:\nBased on the appearance and information available online:\nThe person on the left is likely Gurbanguly Berdimuhamedow, who was born on June 29, 1957.\nThe person on the right is likely Hassan Rouhani, who was born on November 12, 1948.\n\nTo find the age gap, we subtract the younger person's birth year from the older person's birth year.\n1957 - 1948 = 9\n\nHowever, considering the birth months, we need to be more accurate.\n\nAs of today's date (October 27, 2023):\nAge of Gurbanguly Berdimuhamedow = 2023 - 1957 = 66 years\nAge of Hassan Rouhani = 2023 - 1948 = 75 years\n\nAge gap = 75 - 66 = 9\n\nLet's consider the date of the image. The banner behind them mentions \"THE THIRD GECF SUMMIT\". The 3rd GECF Summit was held in Tehran, Iran on November 23, 2015.\n\nAge of Gurbanguly Berdimuhamedow on November 23, 2015: 58 years (born June 29, 1957)\nAge of Hassan Rouhani on November 23, 2015: 67 years (born November 12, 1948)\n\nAge gap = 67 - 58 = 9\n\n9", 66 | "Thoughts:\nThe user wants to count the number of bars with values smaller than 6 in the provided bar chart.\nLooking at the chart:\n- The bar for \"butt\" has a value of approximately 8.\n- The bar for \"sick\" has a value of approximately 6.\n\nTherefore, there are no bars with values smaller than 6.\nAnswer:\n0", 67 | "Thoughts:\nThe user has provided an image of a graph and is asking whether the function represented by the graph is odd or even.\nAn even function satisfies f(-x) = f(x), which means it is symmetric with respect to the y-axis.\nAn odd function satisfies f(-x) = -f(x), which means it has rotational symmetry about the origin.\nLooking at the graph, it is not symmetric with respect to the y-axis. For example, there's a value for y at x=1, but there's no corresponding value at x=-1 with the same y-value.\nAlso, it does not have rotational symmetry about the origin. If we rotate the graph 180 degrees around the origin, it will not overlap with the original graph.\nTherefore, the function is neither even nor odd.\nHowever, the choices provided are only \"odd\" and \"even\". In such a case, we need to pick the option that is the closest description. Since it's clearly not symmetric about the y-axis, it's not even.\n\nLet's re-examine the definition of odd and even functions.\nA function f is even if f(-x) = f(x) for all x in its domain.\nA function f is odd if f(-x) = -f(x) for all x in its domain.\n\nFrom the graph, it is clear that the function is not symmetric about the y-axis. For instance, when x is positive, y is positive and increasing. When x is negative, y is positive and approaches 0. Therefore, f(-x) is not equal to f(x).\n\nAlso, for odd function, f(-x) should be the negative of f(x). For example, if f(1) = some value (let's say 2), then for an odd function, f(-1) should be -2. However, from the graph, when x is negative, y is positive. Thus, f(-x) is not equal to -f(x).\n\nGiven that the provided options only contain \"odd\" or \"even\", and the function is definitely not even, the best fit among the given choices would be \"odd\", though technically it is neither. However, this might be a trick question to test the understanding that if a function is not even, it doesn't necessarily mean it's odd. But if I have to choose, and those are the only two options...\n\nLet's reconsider the graph visually. If we reflect the part of the graph where x is positive across the y-axis, it doesn't match the part of the graph where x is negative. This confirms it's not even.\n\nIf we rotate the graph 180 degrees about the origin, the part in the first quadrant would end up in the third quadrant and the part in the second quadrant would end up in the fourth quadrant. This doesn't match the original graph.\n\nGiven the constraints of the question, I have to select either odd or even. Since it is visually clear that the graph is not symmetric about the y-axis, it is not an even function.\n\nTherefore, by elimination, the answer should be odd, keeping in mind the function is actually neither. The question structure forces a binary choice.\nAnswer:\nThe function shown in the graph is $y = a^x$, where $a > 1$.\n\nTo determine if a function is even, we check if $f(-x) = f(x)$.\nTo determine if a function is odd, we check if $f(-x) = -f(x)$.\n\nFor the given function $y = a^x$:\n$f(x) = a^x$\n$f(-x) = a^{-x} = \\frac{1}{a^x}$\n\nFor the function to be even, $f(-x)$ must be equal to $f(x)$:\n$\\frac{1}{a^x} = a^x$\nThis is only true if $a^x = 1$, which means $x=0$. For the function to be even, this must be true for all $x$ in the domain, which is not the case.\n\nFor the function to be odd, $f(-x)$ must be equal to $-f(x)$:\n$\\frac{1}{a^x} = -a^x$\nThis is never true for $a > 1$.\n\nLooking at the graph:\n- It is not symmetric with respect to the y-axis, so it is not an even function.\n- It does not have rotational symmetry about the origin, so it is not an odd function.\n\nHowever, since the question forces a choice between odd and even, and we've determined it's not even, the best answer among the given options is odd. This is a case where the provided choices might be a simplification or a trick. In a strict mathematical sense, the function is neither odd nor even. But given the binary choices, we choose the one it is definitely NOT.\n\nSince the function is definitively not even, and a choice must be made between odd and even, the answer leans towards odd.\n\nFinal Answer: The final answer is $\\boxed{A}$", 68 | "Thoughts:\nThe user wants to know the age gap between the two people in the image.\nTo answer this, I need to identify the two individuals and find their birth dates to calculate the age difference.\nLooking at the image, the two people are shaking hands, suggesting a formal meeting. The presence of national flags hints at political figures.\n\nBased on the appearance, the person on the left looks like Klaus Iohannis, the President of Romania.\nThe person on the right appears to be Rex Tillerson, former US Secretary of State.\n\nLet's find their birth dates:\nKlaus Iohannis was born on June 13, 1959.\nRex Tillerson was born on March 23, 1952.\n\nAge of Klaus Iohannis as of today (October 26, 2023): 64 years\nAge of Rex Tillerson as of today (October 26, 2023): 71 years\n\nThe image appears to be taken during Tillerson's time as Secretary of State, which was from 2017 to 2018. Let's assume a date within that period, for example, 2017.\n\nAge of Klaus Iohannis in 2017: 2017 - 1959 = 58 years\nAge of Rex Tillerson in 2017: 2017 - 1952 = 65 years\n\nAge gap = 65 - 58 = 7 years.\n\nLet's double check with another year, say 2018.\nAge of Klaus Iohannis in 2018: 2018 - 1959 = 59 years\nAge of Rex Tillerson in 2018: 2018 - 1952 = 66 years\n\nAge gap = 66 - 59 = 7 years.\n\nThe age gap is consistent.\nAnswer:\nThe person on the left is Klaus Iohannis, who was born on June 13, 1959.\nThe person on the right is Rex Tillerson, who was born on March 23, 1952.\n\nTo find the age gap, we subtract the birth years: 1959 - 1952 = 7.\n\n7" 69 | ], 70 | "images": [ 71 | "training_data/mathvista_images/1.png", 72 | "training_data/mathvista_images/2.png", 73 | "training_data/mathvista_images/3.png", 74 | "training_data/mathvista_images/4.png", 75 | "training_data/mathvista_images/5.png", 76 | "training_data/mathvista_images/10.png", 77 | "training_data/mathvista_images/11.png", 78 | "training_data/mathvista_images/12.png", 79 | "training_data/mathvista_images/13.png", 80 | "training_data/mathvista_images/14.png", 81 | "training_data/mathvista_images/15.png", 82 | "training_data/mathvista_images/17.png", 83 | "training_data/mathvista_images/18.png", 84 | "training_data/mathvista_images/19.png", 85 | "training_data/mathvista_images/20.png", 86 | "training_data/mathvista_images/21.png", 87 | "training_data/mathvista_images/22.png", 88 | "training_data/mathvista_images/23.png", 89 | "training_data/mathvista_images/25.png", 90 | "training_data/mathvista_images/26.png", 91 | "training_data/mathvista_images/27.png", 92 | "training_data/mathvista_images/28.png", 93 | "training_data/mathvista_images/29.png", 94 | "training_data/mathvista_images/30.png", 95 | "training_data/mathvista_images/31.png", 96 | "training_data/mathvista_images/32.png", 97 | "training_data/mathvista_images/33.png", 98 | "training_data/mathvista_images/34.png", 99 | "training_data/mathvista_images/35.png", 100 | "training_data/mathvista_images/37.png", 101 | "training_data/mathvista_images/38.png", 102 | "training_data/mathvista_images/40.png" 103 | ] 104 | } --------------------------------------------------------------------------------