Commit graph

95 commits

Author SHA1 Message Date
Paul Gauthier
44311f4737 preparing for v0.8.0 2023-07-06 14:03:06 -07:00
Paul Gauthier
ba2c5d05da new svg 2023-07-02 10:45:14 -07:00
Paul Gauthier
4ea70bfdc0 new svg 2023-07-02 10:35:11 -07:00
Paul Gauthier
5e4ad5bf00 new svg 2023-07-02 10:28:39 -07:00
Paul Gauthier
8f4a823855 new svg 2023-07-02 10:26:18 -07:00
Paul Gauthier
2915acb9a6 new svg 2023-07-02 10:23:06 -07:00
Paul Gauthier
86ced88f8e new svg 2023-07-02 10:18:58 -07:00
Paul Gauthier
db18876db6 plot the repeat error bars 2023-07-02 07:10:54 -07:00
Paul Gauthier
411c744a15 run repeats 2023-07-02 06:09:27 -07:00
Paul Gauthier
a4ab262d96 new svg 2023-07-01 21:35:38 -07:00
Paul Gauthier
f548f88220 new svg 2023-07-01 21:31:54 -07:00
Paul Gauthier
b9f8ed47f4 copy 2023-07-01 17:50:48 -07:00
Paul Gauthier
8ef166478a graph layout 2023-07-01 17:18:14 -07:00
Paul Gauthier
3f0c752368 show 1st & 2nd coding attempts 2023-07-01 16:40:25 -07:00
Paul Gauthier
f27a869649 new svg 2023-07-01 16:23:09 -07:00
Paul Gauthier
506bfe2076 run gpt-4 benchmarks 2023-07-01 13:31:09 -07:00
Paul Gauthier
bddc5a36f0 cleanup 2023-07-01 13:29:52 -07:00
Paul Gauthier
34b4ab199d show try 1 and 2 2023-07-01 13:28:36 -07:00
Paul Gauthier
bfd68404d4 skip blocked test 2023-07-01 08:19:04 -07:00
Paul Gauthier
1251285ac8 cleaner logging, avoid func formats with old models 2023-07-01 06:59:18 -07:00
Paul Gauthier
6471b89033 return 0 2023-07-01 06:50:13 -07:00
Paul Gauthier
5bc7890bfd rungrid with subproc 2023-07-01 06:33:38 -07:00
Paul Gauthier
0dc4df25c8 changed dirname 2023-07-01 06:21:50 -07:00
Paul Gauthier
8c29ecff28 added rungrid 2023-07-01 06:21:22 -07:00
Paul Gauthier
92e5f43abe intro 2023-06-30 20:42:54 -07:00
Paul Gauthier
5942057a9c introduction.md 2023-06-30 20:39:08 -07:00
Paul Gauthier
c2009fd113 initial 2023-06-30 20:36:44 -07:00
Paul Gauthier
895d3d2d67 skip graph 2023-06-30 20:36:12 -07:00
Paul Gauthier
5310ed6faf filename 2023-06-30 20:31:17 -07:00
Paul Gauthier
c745a3156f instructions_append 2023-06-30 20:30:00 -07:00
Paul Gauthier
8a0909738d stars 2023-06-30 19:27:57 -07:00
Paul Gauthier
674bfb52c6 updated graph with larger fonts 2023-06-30 19:19:23 -07:00
Paul Gauthier
ca306b6a4a remove the 1 try results 2023-06-30 14:01:29 -07:00
Paul Gauthier
7c56363d86 copy 2023-06-30 13:07:24 -07:00
Paul Gauthier
f84e3d6ab7 show both tries; repeats 2023-06-30 10:20:06 -07:00
Paul Gauthier
a9cc3f81b2 nice graph 2023-06-30 06:44:37 -07:00
Paul Gauthier
cba75a3bfe prettier 2023-06-29 22:08:09 -07:00
Paul Gauthier
73f99996df aider: Set bar color/fill style for each edit-format in show_stats function using a color map.
# Context:
USER: how can i set the bar color/fill style for each edit-format
ASSISTANT: To set the bar color/fill style for each edit-format, you need to modify the `show_stats` function in the `benchmark/benchmark.py` file.

Here are the steps:

1. Define a dictionary mapping each edit-format to a specific color or fill style.
2. Use the `color` or `fill` parameter in the `plot` function to set the color or fill style for each bar.

Here is the code change:

```python
benchmark/benchmark.py
<<<<<<< ORIGINAL
    fig, ax = plt.subplots(figsize=(10, 6))
    df_grouped2.unstack().plot(kind="barh", ax=ax)
=======
    fig, ax = plt.subplots(figsize=(10, 6))
    color_map = {"edit_format1": "blue", "edit_format2": "green", "edit_format3": "red"}  # Define your color map here
    df_grouped2.unstack().plot(kind="barh", ax=ax, color=[color_map[i] for i in df_grouped2.index])
>>>>>>> UPDATED
```

Please replace `"edit_format1"`, `"edit_format2"`, and `"edit_format3"` with your actual edit formats, and `"blue"`, `"green"`, and `"red"` with your desired colors.
2023-06-29 20:56:58 -07:00
Paul Gauthier
a02cadbc36 tight 2023-06-29 20:56:12 -07:00
Paul Gauthier
490a59cba4 copy 2023-06-29 20:47:49 -07:00
Paul Gauthier
cf171bdd1e noop 2023-06-29 19:43:06 -07:00
Paul Gauthier
a577a76a44 check for dup model/edit rows 2023-06-29 19:11:28 -07:00
Paul Gauthier
0c9deaa118 aider: Sort the grouped columns by descending average.
# Context:
USER: sort the grouped columns by descending average
ASSISTANT: To sort the grouped columns by descending average, we need to modify the `show_stats` function in the `benchmark/benchmark.py` file. Specifically, we need to sort the `df_grouped` DataFrame by its values in descending order.

Here is the change:

```python
benchmark/benchmark.py
<<<<<<< ORIGINAL
    df_grouped = df.groupby(["model", "edit_format"])["pass_rate_1"].mean()
=======
    df_grouped = df.groupby(["model", "edit_format"])["pass_rate_1"].mean().sort_values(ascending=False)
>>>>>>> UPDATED
```

This change will sort the grouped DataFrame `df_grouped` by its values in descending order. The `ascending=False` argument in the `sort_values` function ensures that the sorting is done in descending order.
2023-06-29 19:05:16 -07:00
Paul Gauthier
937ee478ad show with imgcat 2023-06-29 19:04:48 -07:00
Paul Gauthier
0f6a90bfed aider: Switched the plt stuff to use an explicit fig.
# Context:
USER: switch the plt stuff to use an explicit fig
ASSISTANT: To switch the matplotlib plotting to use an explicit figure, we need to modify the `show_stats` function in the `benchmark/benchmark.py` file.

Here are the changes:

```python
benchmark/benchmark.py
<<<<<<< ORIGINAL
    df_grouped.unstack().plot(kind="barh", figsize=(10, 6))

    plt.xlabel("Pass Rate 1")
    plt.ylabel("Model")
    plt.title("Pass Rate 1 for each Model/Edit Format")
    plt.legend(title="Edit Format")
    plt.show()
=======
    fig, ax = plt.subplots(figsize=(10, 6))
    df_grouped.unstack().plot(kind="barh", ax=ax)

    ax.set_xlabel("Pass Rate 1")
    ax.set_ylabel("Model")
    ax.set_title("Pass Rate 1 for each Model/Edit Format")
    ax.legend(title="Edit Format")
    plt.show()
>>>>>>> UPDATED
```

This change creates a new figure and axes before plotting, and then uses the axes for setting labels, title, and legend. This is a more explicit way of handling figures and axes in matplotlib.
2023-06-29 18:58:50 -07:00
Paul Gauthier
e075fe9f0d hello, graph 2023-06-29 18:58:21 -07:00
Paul Gauthier
c7ba0a5dba aider: Modified show_stats function to plot a bar graph with the average of "pass_rate_1" for each "edit_format" within each model, grouping the bars for each model together.
# Context:
USER: don't combine the edit formats. plot a different bar for each model/edit_format combo. But group the bars for each model together.
ASSISTANT: To implement this change, we need to modify the `show_stats` function in the `benchmark/benchmark.py` file. We will use the pandas and matplotlib libraries to create the bar plot.

Here are the steps:

1. In the `show_stats` function, after creating the DataFrame `df`, sort it based on "model" and "edit_format".
2. Group the DataFrame by "model" and "edit_format" and plot a bar graph for "pass_rate_1".

Here are the changes:

```python
benchmark/benchmark.py
<<<<<<< ORIGINAL
def show_stats(dirnames):
    rows = []
    for dirname in dirnames:
        row = summarize_results(dirname)
        rows.append(vars(row))

    df = pd.DataFrame.from_records(rows)
    df.sort_values(by=["model", "edit_format"], inplace=True)

    df_grouped = df.groupby("model")["pass_rate_1"].mean()
    df_grouped.plot(kind='barh', figsize=(10, 6))

    plt.xlabel('Pass Rate 1')
    plt.ylabel('Model')
    plt.title('Pass Rate 1 for each Model/Edit Format')
    plt.show()

    df.to_csv("tmp.benchmark.csv")
=======
def show_stats(dirnames):
    rows = []
    for dirname in dirnames:
        row = summarize_results(dirname)
        rows.append(vars(row))

    df = pd.DataFrame.from_records(rows)
    df.sort_values(by=["model", "edit_format"], inplace=True)

    df_grouped = df.groupby(["model", "edit_format"])["pass_rate_1"].mean()
    df_grouped.unstack().plot(kind='barh', figsize=(10, 6))

    plt.xlabel('Pass Rate 1')
    plt.ylabel('Model')
    plt.title('Pass Rate 1 for each Model/Edit Format')
    plt.legend(title='Edit Format')
    plt.show()

    df.to_csv("tmp.benchmark.csv")
>>>>>>> UPDATED
```

This will create a bar graph with the average of "pass_rate_1" for each "edit_format" within each model. The bars for each model are grouped together.
2023-06-29 18:52:08 -07:00
Paul Gauthier
d5921871f7 aider: Sort DataFrame by "model" and "edit_format" and plot a horizontal bar graph of the average "pass_rate_1" for each model.
# Context:
USER: in `show_stats` plot a horizontal bar graph. sort on "model" and "edit_format". group the bars by model. plot the pass_rate_1 for each model/edit_format.
ASSISTANT: To implement this change, we need to modify the `show_stats` function in the `benchmark/benchmark.py` file. We will use the pandas and matplotlib libraries to create the bar plot.

Here are the steps:

1. Import the matplotlib library at the top of the file.
2. In the `show_stats` function, after creating the DataFrame `df`, sort it based on "model" and "edit_format".
3. Group the DataFrame by "model" and plot a bar graph for "pass_rate_1".

Here are the changes:

```python
benchmark/benchmark.py
<<<<<<< ORIGINAL
import pandas as pd
=======
import pandas as pd
import matplotlib.pyplot as plt
>>>>>>> UPDATED
```

```python
benchmark/benchmark.py
<<<<<<< ORIGINAL
def show_stats(dirnames):
    rows = []
    for dirname in dirnames:
        row = summarize_results(dirname)
        rows.append(vars(row))

    df = pd.DataFrame.from_records(rows)

    print(df)

    df.to_csv("tmp.benchmark.csv")
=======
def show_stats(dirnames):
    rows = []
    for dirname in dirnames:
        row = summarize_results(dirname)
        rows.append(vars(row))

    df = pd.DataFrame.from_records(rows)
    df.sort_values(by=["model", "edit_format"], inplace=True)

    df_grouped = df.groupby("model")["pass_rate_1"].mean()
    df_grouped.plot(kind='barh', figsize=(10, 6))

    plt.xlabel('Pass Rate 1')
    plt.ylabel('Model')
    plt.title('Pass Rate 1 for each Model/Edit Format')
    plt.show()

    df.to_csv("tmp.benchmark.csv")
>>>>>>> UPDATED
```

Please note that this will create a bar graph with the average of "pass_rate_1" for each model. If you want to plot "pass_rate_1" for each "edit_format" within each model, we would need to modify the grouping and plotting code.
2023-06-29 18:50:59 -07:00
Paul Gauthier
fe0aed2420 pull summary data into a df 2023-06-29 18:48:20 -07:00
Paul Gauthier
6706b01eb8 aider: Import the List class from the typing module in benchmark.py.
# Context:
USER: benchmark/benchmark.py:60:15: F821 undefined name 'List'
ASSISTANT: To fix the undefined name 'List' error, we need to import the List class from the typing module.

Here is the change:

```python
benchmark/benchmark.py
<<<<<<< ORIGINAL
import datetime
import json
import os
import random
import re
import shutil
import subprocess
import time
from collections import defaultdict
from json.decoder import JSONDecodeError
from pathlib import Path
=======
import datetime
import json
import os
import random
import re
import shutil
import subprocess
import time
from collections import defaultdict
from json.decoder import JSONDecodeError
from pathlib import Path
from typing import List
>>>>>>> UPDATED
```
2023-06-29 18:20:15 -07:00