aksell commited on
Commit
2410bbd
1 Parent(s): b7cb94d

First draft of "Find interesting heads" page

Browse files
hexviz/pages/Identify_interesting_Heads.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+
3
+ from hexviz.attention import get_attention, get_sequence, get_structure
4
+ from hexviz.models import Model, ModelType
5
+ from hexviz.plot import plot_tiled_heatmap
6
+
7
+ st.set_page_config(layout="wide")
8
+
9
+
10
+ models = [
11
+ Model(name=ModelType.TAPE_BERT, layers=12, heads=12),
12
+ Model(name=ModelType.ZymCTRL, layers=36, heads=16),
13
+ ]
14
+
15
+ selected_model_name = st.sidebar.selectbox("Select a model", [model.name.value for model in models], index=0)
16
+ selected_model = next((model for model in models if model.name.value == selected_model_name), None)
17
+
18
+ pdb_id = st.sidebar.text_input(
19
+ label="PDB ID",
20
+ value="1AKE",
21
+ )
22
+
23
+ structure = get_structure(pdb_id)
24
+ chains = list(structure.get_chains())
25
+
26
+ sequence = get_sequence(chains[0])
27
+ l = len(sequence)
28
+ n_residues = st.sidebar.number_input(f"Residue count (1-{l})",value=50, min_value=1, max_value=l)
29
+ truncated_sequence = sequence[:n_residues]
30
+
31
+ attention = get_attention(sequence=truncated_sequence, model_type=selected_model.name)
32
+
33
+ st.subheader("Find interesting heads and layers")
34
+ fig = plot_tiled_heatmap(attention, layer_count=selected_model.layers, head_count=selected_model.heads)
35
+ st.pyplot(fig)
hexviz/plot.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import matplotlib.pyplot as plt
2
+
3
+
4
+ def plot_tiled_heatmap(tensor, layer_count=12, head_count=12):
5
+ tensor = tensor[:layer_count:2, :head_count:2, :, :] # Slice the tensor according to the provided arguments
6
+ num_layers = layer_count // 2
7
+ num_heads = head_count // 2
8
+ fig, axes = plt.subplots(num_layers, num_heads, figsize=(12, 12))
9
+ for i in range(num_layers):
10
+ for j in range(num_heads):
11
+ axes[i, j].imshow(tensor[i, j].detach().numpy(), cmap='viridis', aspect='auto')
12
+ axes[i, j].axis('off')
13
+
14
+ # Enumerate the axes
15
+ if i == 0:
16
+ axes[i, j].set_title(f'Head {j * 2 + 1}', fontsize=10, y=1.05)
17
+
18
+ # Add layer labels on the right Y-axis
19
+ for i in range(num_layers):
20
+ fig.text(0.98, (num_layers - i - 1) / num_layers + 0.025, f'Layer {i * 2 + 1}', fontsize=10, rotation=0, ha='right', va='center')
21
+
22
+ plt.subplots_adjust(wspace=0.1, hspace=0.1)
23
+ return fig
poetry.lock CHANGED
@@ -293,6 +293,32 @@ traitlets = ">=5.3"
293
  [package.extras]
294
  test = ["pytest"]
295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
  [[package]]
297
  name = "debugpy"
298
  version = "1.6.6"
@@ -381,6 +407,28 @@ python-versions = ">=3.7"
381
  docs = ["furo (>=2022.12.7)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)", "sphinx (>=6.1.3)"]
382
  testing = ["covdefaults (>=2.3)", "coverage (>=7.2.1)", "pytest-cov (>=4)", "pytest-timeout (>=2.1)", "pytest (>=7.2.2)"]
383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  [[package]]
385
  name = "fqdn"
386
  version = "1.5.1"
@@ -810,6 +858,14 @@ category = "main"
810
  optional = false
811
  python-versions = ">=3.7"
812
 
 
 
 
 
 
 
 
 
813
  [[package]]
814
  name = "lit"
815
  version = "15.0.7"
@@ -855,6 +911,27 @@ category = "main"
855
  optional = false
856
  python-versions = ">=3.7"
857
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
858
  [[package]]
859
  name = "matplotlib-inline"
860
  version = "0.1.6"
@@ -1400,6 +1477,17 @@ category = "main"
1400
  optional = false
1401
  python-versions = ">=3.6"
1402
 
 
 
 
 
 
 
 
 
 
 
 
1403
  [[package]]
1404
  name = "pyrsistent"
1405
  version = "0.19.3"
@@ -1622,6 +1710,23 @@ category = "main"
1622
  optional = false
1623
  python-versions = "*"
1624
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1625
  [[package]]
1626
  name = "six"
1627
  version = "1.16.0"
@@ -1820,7 +1925,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
1820
  name = "tomli"
1821
  version = "2.0.1"
1822
  description = "A lil' TOML parser"
1823
- category = "dev"
1824
  optional = false
1825
  python-versions = ">=3.7"
1826
 
@@ -2134,7 +2239,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "flake8 (<5)", "pytest-co
2134
  [metadata]
2135
  lock-version = "1.1"
2136
  python-versions = ">=3.8.9,<3.9.7 || >3.9.7,<4.0.0"
2137
- content-hash = "f7215288fc64984519d9a9ca7b7db5663b34c7727322547d6c8e9e87fdd1161b"
2138
 
2139
  [metadata.files]
2140
  altair = []
@@ -2189,6 +2294,8 @@ click = []
2189
  cmake = []
2190
  colorama = []
2191
  comm = []
 
 
2192
  debugpy = []
2193
  decorator = [
2194
  {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
@@ -2207,6 +2314,7 @@ exceptiongroup = []
2207
  executing = []
2208
  fastjsonschema = []
2209
  filelock = []
 
2210
  fqdn = []
2211
  gitdb = []
2212
  gitpython = []
@@ -2237,10 +2345,12 @@ jupyter-server = []
2237
  jupyter-server-terminals = []
2238
  jupyterlab-pygments = []
2239
  jupyterlab-widgets = []
 
2240
  lit = []
2241
  lmdb = []
2242
  markdown-it-py = []
2243
  markupsafe = []
 
2244
  matplotlib-inline = []
2245
  mdurl = []
2246
  mistune = []
@@ -2311,6 +2421,7 @@ pycparser = [
2311
  pydeck = []
2312
  pygments = []
2313
  pympler = []
 
2314
  pyrsistent = []
2315
  pytest = []
2316
  python-dateutil = [
@@ -2371,6 +2482,7 @@ send2trash = [
2371
  {file = "Send2Trash-1.8.0.tar.gz", hash = "sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d"},
2372
  ]
2373
  sentencepiece = []
 
2374
  six = [
2375
  {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
2376
  {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
 
293
  [package.extras]
294
  test = ["pytest"]
295
 
296
+ [[package]]
297
+ name = "contourpy"
298
+ version = "1.0.7"
299
+ description = "Python library for calculating contours of 2D quadrilateral grids"
300
+ category = "main"
301
+ optional = false
302
+ python-versions = ">=3.8"
303
+
304
+ [package.dependencies]
305
+ numpy = ">=1.16"
306
+
307
+ [package.extras]
308
+ bokeh = ["bokeh", "chromedriver", "selenium"]
309
+ docs = ["furo", "sphinx-copybutton"]
310
+ mypy = ["contourpy", "docutils-stubs", "mypy (==0.991)", "types-pillow"]
311
+ test = ["matplotlib", "pillow", "pytest"]
312
+ test-no-images = ["pytest"]
313
+
314
+ [[package]]
315
+ name = "cycler"
316
+ version = "0.11.0"
317
+ description = "Composable style cycles"
318
+ category = "main"
319
+ optional = false
320
+ python-versions = ">=3.6"
321
+
322
  [[package]]
323
  name = "debugpy"
324
  version = "1.6.6"
 
407
  docs = ["furo (>=2022.12.7)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)", "sphinx (>=6.1.3)"]
408
  testing = ["covdefaults (>=2.3)", "coverage (>=7.2.1)", "pytest-cov (>=4)", "pytest-timeout (>=2.1)", "pytest (>=7.2.2)"]
409
 
410
+ [[package]]
411
+ name = "fonttools"
412
+ version = "4.39.3"
413
+ description = "Tools to manipulate font files"
414
+ category = "main"
415
+ optional = false
416
+ python-versions = ">=3.8"
417
+
418
+ [package.extras]
419
+ all = ["fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "zopfli (>=0.1.4)", "lz4 (>=1.7.4.2)", "matplotlib", "sympy", "skia-pathops (>=0.5.0)", "uharfbuzz (>=0.23.0)", "brotlicffi (>=0.8.0)", "scipy", "brotli (>=1.0.1)", "munkres", "unicodedata2 (>=15.0.0)", "xattr"]
420
+ graphite = ["lz4 (>=1.7.4.2)"]
421
+ interpolatable = ["scipy", "munkres"]
422
+ lxml = ["lxml (>=4.0,<5)"]
423
+ pathops = ["skia-pathops (>=0.5.0)"]
424
+ plot = ["matplotlib"]
425
+ repacker = ["uharfbuzz (>=0.23.0)"]
426
+ symfont = ["sympy"]
427
+ type1 = ["xattr"]
428
+ ufo = ["fs (>=2.2.0,<3)"]
429
+ unicode = ["unicodedata2 (>=15.0.0)"]
430
+ woff = ["zopfli (>=0.1.4)", "brotlicffi (>=0.8.0)", "brotli (>=1.0.1)"]
431
+
432
  [[package]]
433
  name = "fqdn"
434
  version = "1.5.1"
 
858
  optional = false
859
  python-versions = ">=3.7"
860
 
861
+ [[package]]
862
+ name = "kiwisolver"
863
+ version = "1.4.4"
864
+ description = "A fast implementation of the Cassowary constraint solver"
865
+ category = "main"
866
+ optional = false
867
+ python-versions = ">=3.7"
868
+
869
  [[package]]
870
  name = "lit"
871
  version = "15.0.7"
 
911
  optional = false
912
  python-versions = ">=3.7"
913
 
914
+ [[package]]
915
+ name = "matplotlib"
916
+ version = "3.7.1"
917
+ description = "Python plotting package"
918
+ category = "main"
919
+ optional = false
920
+ python-versions = ">=3.8"
921
+
922
+ [package.dependencies]
923
+ contourpy = ">=1.0.1"
924
+ cycler = ">=0.10"
925
+ fonttools = ">=4.22.0"
926
+ importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""}
927
+ kiwisolver = ">=1.0.1"
928
+ numpy = ">=1.20"
929
+ packaging = ">=20.0"
930
+ pillow = ">=6.2.0"
931
+ pyparsing = ">=2.3.1"
932
+ python-dateutil = ">=2.7"
933
+ setuptools_scm = ">=7"
934
+
935
  [[package]]
936
  name = "matplotlib-inline"
937
  version = "0.1.6"
 
1477
  optional = false
1478
  python-versions = ">=3.6"
1479
 
1480
+ [[package]]
1481
+ name = "pyparsing"
1482
+ version = "3.0.9"
1483
+ description = "pyparsing module - Classes and methods to define and execute parsing grammars"
1484
+ category = "main"
1485
+ optional = false
1486
+ python-versions = ">=3.6.8"
1487
+
1488
+ [package.extras]
1489
+ diagrams = ["railroad-diagrams", "jinja2"]
1490
+
1491
  [[package]]
1492
  name = "pyrsistent"
1493
  version = "0.19.3"
 
1710
  optional = false
1711
  python-versions = "*"
1712
 
1713
+ [[package]]
1714
+ name = "setuptools-scm"
1715
+ version = "7.1.0"
1716
+ description = "the blessed package to manage your versions by scm tags"
1717
+ category = "main"
1718
+ optional = false
1719
+ python-versions = ">=3.7"
1720
+
1721
+ [package.dependencies]
1722
+ packaging = ">=20.0"
1723
+ tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
1724
+ typing-extensions = "*"
1725
+
1726
+ [package.extras]
1727
+ test = ["pytest (>=6.2)", "virtualenv (>20)"]
1728
+ toml = ["setuptools (>=42)"]
1729
+
1730
  [[package]]
1731
  name = "six"
1732
  version = "1.16.0"
 
1925
  name = "tomli"
1926
  version = "2.0.1"
1927
  description = "A lil' TOML parser"
1928
+ category = "main"
1929
  optional = false
1930
  python-versions = ">=3.7"
1931
 
 
2239
  [metadata]
2240
  lock-version = "1.1"
2241
  python-versions = ">=3.8.9,<3.9.7 || >3.9.7,<4.0.0"
2242
+ content-hash = "4583c3e7b0104de5e04c6438baa75cacda39164b118e28c71828ab1aa7a5eb13"
2243
 
2244
  [metadata.files]
2245
  altair = []
 
2294
  cmake = []
2295
  colorama = []
2296
  comm = []
2297
+ contourpy = []
2298
+ cycler = []
2299
  debugpy = []
2300
  decorator = [
2301
  {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
 
2314
  executing = []
2315
  fastjsonschema = []
2316
  filelock = []
2317
+ fonttools = []
2318
  fqdn = []
2319
  gitdb = []
2320
  gitpython = []
 
2345
  jupyter-server-terminals = []
2346
  jupyterlab-pygments = []
2347
  jupyterlab-widgets = []
2348
+ kiwisolver = []
2349
  lit = []
2350
  lmdb = []
2351
  markdown-it-py = []
2352
  markupsafe = []
2353
+ matplotlib = []
2354
  matplotlib-inline = []
2355
  mdurl = []
2356
  mistune = []
 
2421
  pydeck = []
2422
  pygments = []
2423
  pympler = []
2424
+ pyparsing = []
2425
  pyrsistent = []
2426
  pytest = []
2427
  python-dateutil = [
 
2482
  {file = "Send2Trash-1.8.0.tar.gz", hash = "sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d"},
2483
  ]
2484
  sentencepiece = []
2485
+ setuptools-scm = []
2486
  six = [
2487
  {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
2488
  {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
pyproject.toml CHANGED
@@ -13,6 +13,7 @@ transformers = "^4.27.1"
13
  torch = "^2.0.0"
14
  sentencepiece = "^0.1.97"
15
  tape-proteins = "^0.5"
 
16
 
17
  [tool.poetry.dev-dependencies]
18
  pytest = "^7.2.2"
 
13
  torch = "^2.0.0"
14
  sentencepiece = "^0.1.97"
15
  tape-proteins = "^0.5"
16
+ matplotlib = "^3.7.1"
17
 
18
  [tool.poetry.dev-dependencies]
19
  pytest = "^7.2.2"
requirements.txt CHANGED
@@ -22,6 +22,8 @@ click==8.1.3; python_version >= "3.7" and python_full_version < "3.9.7" or pytho
22
  cmake==3.26.0; platform_system == "Linux" and platform_machine == "x86_64" and python_full_version >= "3.8.0"
23
  colorama==0.4.6; python_version >= "3.8" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.7.0" and sys_platform == "win32" or python_full_version > "3.9.7" and python_version >= "3.8" and platform_system == "Windows" and sys_platform == "win32"
24
  comm==0.1.2; python_version >= "3.8"
 
 
25
  debugpy==1.6.6; python_version >= "3.8"
26
  decorator==5.1.1; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
27
  defusedxml==0.7.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
@@ -30,13 +32,14 @@ entrypoints==0.4; python_version >= "3.7" and python_full_version < "3.9.7" or p
30
  executing==1.2.0; python_version >= "3.8"
31
  fastjsonschema==2.16.3; python_version >= "3.7"
32
  filelock==3.10.0; python_version >= "3.7" and python_full_version >= "3.8.0" and platform_system == "Linux" and platform_machine == "x86_64"
 
33
  fqdn==1.5.1; python_version >= "3.7" and python_version < "4" and python_full_version < "3.9.7" or python_version >= "3.7" and python_version < "4" and python_full_version > "3.9.7"
34
  gitdb==4.0.10; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
35
  gitpython==3.1.31; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
36
  huggingface-hub==0.13.2; python_full_version >= "3.7.0"
37
  idna==3.4; python_version >= "3.8" and python_version < "4" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7") and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
38
  importlib-metadata==6.0.0; python_version >= "3.8" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.8" and python_version < "3.10"
39
- importlib-resources==5.12.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.9" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9"
40
  ipykernel==6.21.3; python_version >= "3.8"
41
  ipyspeck==0.6.1; python_version >= "3.6"
42
  ipython-genutils==0.2.0; python_version >= "3.7"
@@ -56,11 +59,13 @@ jupyter-server-terminals==0.4.4; python_version >= "3.8"
56
  jupyter-server==2.4.0; python_version >= "3.8"
57
  jupyterlab-pygments==0.2.2; python_version >= "3.7"
58
  jupyterlab-widgets==3.0.5; python_version >= "3.7"
 
59
  lit==15.0.7; platform_system == "Linux" and platform_machine == "x86_64" and python_full_version >= "3.8.0"
60
  lmdb==1.4.0
61
  markdown-it-py==2.2.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7"
62
  markupsafe==2.1.2; python_version >= "3.7" and python_full_version >= "3.8.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
63
  matplotlib-inline==0.1.6; python_version >= "3.8"
 
64
  mdurl==0.1.2; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7"
65
  mistune==2.0.5; python_version >= "3.7"
66
  mpmath==1.3.0; python_version >= "3.8" and python_full_version >= "3.8.0"
@@ -90,7 +95,7 @@ pandocfilters==1.5.0; python_version >= "3.7" and python_full_version < "3.0.0"
90
  parso==0.8.3; python_version >= "3.8"
91
  pexpect==4.8.0; sys_platform != "win32" and python_version >= "3.8"
92
  pickleshare==0.7.5; python_version >= "3.8"
93
- pillow==9.4.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
94
  pkgutil-resolve-name==1.3.10; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.9" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9"
95
  platformdirs==3.1.1; python_version >= "3.8"
96
  prometheus-client==0.16.0; python_version >= "3.8"
@@ -105,6 +110,7 @@ pycparser==2.21; python_version >= "3.8" and python_full_version < "3.0.0" and i
105
  pydeck==0.8.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
106
  pygments==2.14.0; python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.8"
107
  pympler==1.0.1; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
 
108
  pyrsistent==0.19.3; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
109
  python-dateutil==2.8.2; python_version >= "3.8" and python_full_version < "3.0.0" or python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7" and python_version >= "3.8"
110
  python-json-logger==2.0.7; python_version >= "3.8"
@@ -124,6 +130,7 @@ scipy==1.9.3; python_version >= "3.8"
124
  semver==2.13.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.4.0" or python_full_version > "3.9.7" and python_version >= "3.6"
125
  send2trash==1.8.0; python_version >= "3.8"
126
  sentencepiece==0.1.97
 
127
  six==1.16.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.5.0" or python_full_version > "3.9.7" and python_version >= "3.8"
128
  smmap==5.0.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
129
  sniffio==1.3.0; python_full_version >= "3.6.2" and python_version >= "3.8"
@@ -138,6 +145,7 @@ terminado==0.17.1; python_version >= "3.8"
138
  tinycss2==1.2.1; python_version >= "3.7"
139
  tokenizers==0.13.2; python_full_version >= "3.7.0"
140
  toml==0.10.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7" and python_version >= "3.6"
 
141
  tomlkit==0.11.6; python_version >= "3.7"
142
  toolz==0.12.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
143
  torch==2.0.0; python_full_version >= "3.8.0"
@@ -146,7 +154,7 @@ tqdm==4.65.0; python_version >= "3.7" and python_full_version >= "3.7.0"
146
  traitlets==5.9.0; python_full_version >= "3.7.0" and python_version >= "3.8"
147
  transformers==4.27.1; python_full_version >= "3.7.0"
148
  triton==2.0.0; platform_system == "Linux" and platform_machine == "x86_64" and python_full_version >= "3.8.0"
149
- typing-extensions==4.5.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.8.0" and python_version < "3.9" and platform_system == "Linux" and platform_machine == "x86_64" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9" and platform_system == "Linux" and platform_machine == "x86_64"
150
  tzdata==2022.7; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6" and platform_system == "Windows"
151
  tzlocal==4.2; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
152
  uri-template==1.2.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
@@ -158,4 +166,4 @@ webcolors==1.12; python_version >= "3.7" and python_full_version < "3.9.7" or py
158
  webencodings==0.5.1; python_version >= "3.7"
159
  websocket-client==1.5.1; python_version >= "3.8"
160
  widgetsnbextension==3.5.2; python_version >= "3.6"
161
- zipp==3.15.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.9" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9"
 
22
  cmake==3.26.0; platform_system == "Linux" and platform_machine == "x86_64" and python_full_version >= "3.8.0"
23
  colorama==0.4.6; python_version >= "3.8" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.7.0" and sys_platform == "win32" or python_full_version > "3.9.7" and python_version >= "3.8" and platform_system == "Windows" and sys_platform == "win32"
24
  comm==0.1.2; python_version >= "3.8"
25
+ contourpy==1.0.7; python_version >= "3.8"
26
+ cycler==0.11.0; python_version >= "3.8"
27
  debugpy==1.6.6; python_version >= "3.8"
28
  decorator==5.1.1; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
29
  defusedxml==0.7.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
 
32
  executing==1.2.0; python_version >= "3.8"
33
  fastjsonschema==2.16.3; python_version >= "3.7"
34
  filelock==3.10.0; python_version >= "3.7" and python_full_version >= "3.8.0" and platform_system == "Linux" and platform_machine == "x86_64"
35
+ fonttools==4.39.3; python_version >= "3.8"
36
  fqdn==1.5.1; python_version >= "3.7" and python_version < "4" and python_full_version < "3.9.7" or python_version >= "3.7" and python_version < "4" and python_full_version > "3.9.7"
37
  gitdb==4.0.10; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
38
  gitpython==3.1.31; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
39
  huggingface-hub==0.13.2; python_full_version >= "3.7.0"
40
  idna==3.4; python_version >= "3.8" and python_version < "4" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7") and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
41
  importlib-metadata==6.0.0; python_version >= "3.8" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.8" and python_version < "3.10"
42
+ importlib-resources==5.12.0; python_version < "3.10" and python_version >= "3.8" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.9" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9")
43
  ipykernel==6.21.3; python_version >= "3.8"
44
  ipyspeck==0.6.1; python_version >= "3.6"
45
  ipython-genutils==0.2.0; python_version >= "3.7"
 
59
  jupyter-server==2.4.0; python_version >= "3.8"
60
  jupyterlab-pygments==0.2.2; python_version >= "3.7"
61
  jupyterlab-widgets==3.0.5; python_version >= "3.7"
62
+ kiwisolver==1.4.4; python_version >= "3.8"
63
  lit==15.0.7; platform_system == "Linux" and platform_machine == "x86_64" and python_full_version >= "3.8.0"
64
  lmdb==1.4.0
65
  markdown-it-py==2.2.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7"
66
  markupsafe==2.1.2; python_version >= "3.7" and python_full_version >= "3.8.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
67
  matplotlib-inline==0.1.6; python_version >= "3.8"
68
+ matplotlib==3.7.1; python_version >= "3.8"
69
  mdurl==0.1.2; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7"
70
  mistune==2.0.5; python_version >= "3.7"
71
  mpmath==1.3.0; python_version >= "3.8" and python_full_version >= "3.8.0"
 
95
  parso==0.8.3; python_version >= "3.8"
96
  pexpect==4.8.0; sys_platform != "win32" and python_version >= "3.8"
97
  pickleshare==0.7.5; python_version >= "3.8"
98
+ pillow==9.4.0; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
99
  pkgutil-resolve-name==1.3.10; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.9" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9"
100
  platformdirs==3.1.1; python_version >= "3.8"
101
  prometheus-client==0.16.0; python_version >= "3.8"
 
110
  pydeck==0.8.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
111
  pygments==2.14.0; python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.8"
112
  pympler==1.0.1; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
113
+ pyparsing==3.0.9; python_full_version >= "3.6.8" and python_version >= "3.8"
114
  pyrsistent==0.19.3; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
115
  python-dateutil==2.8.2; python_version >= "3.8" and python_full_version < "3.0.0" or python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7" and python_version >= "3.8"
116
  python-json-logger==2.0.7; python_version >= "3.8"
 
130
  semver==2.13.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.4.0" or python_full_version > "3.9.7" and python_version >= "3.6"
131
  send2trash==1.8.0; python_version >= "3.8"
132
  sentencepiece==0.1.97
133
+ setuptools-scm==7.1.0; python_version >= "3.8"
134
  six==1.16.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.5.0" or python_full_version > "3.9.7" and python_version >= "3.8"
135
  smmap==5.0.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
136
  sniffio==1.3.0; python_full_version >= "3.6.2" and python_version >= "3.8"
 
145
  tinycss2==1.2.1; python_version >= "3.7"
146
  tokenizers==0.13.2; python_full_version >= "3.7.0"
147
  toml==0.10.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7" and python_version >= "3.6"
148
+ tomli==2.0.1; python_version < "3.11" and python_version >= "3.8"
149
  tomlkit==0.11.6; python_version >= "3.7"
150
  toolz==0.12.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
151
  torch==2.0.0; python_full_version >= "3.8.0"
 
154
  traitlets==5.9.0; python_full_version >= "3.7.0" and python_version >= "3.8"
155
  transformers==4.27.1; python_full_version >= "3.7.0"
156
  triton==2.0.0; platform_system == "Linux" and platform_machine == "x86_64" and python_full_version >= "3.8.0"
157
+ typing-extensions==4.5.0; python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.8.0" and python_version < "3.9" and platform_system == "Linux" and platform_machine == "x86_64" or python_full_version > "3.9.7" and python_version >= "3.8" and python_version < "3.9" and platform_system == "Linux" and platform_machine == "x86_64"
158
  tzdata==2022.7; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6" and platform_system == "Windows"
159
  tzlocal==4.2; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
160
  uri-template==1.2.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
 
166
  webencodings==0.5.1; python_version >= "3.7"
167
  websocket-client==1.5.1; python_version >= "3.8"
168
  widgetsnbextension==3.5.2; python_version >= "3.6"
169
+ zipp==3.15.0; python_version >= "3.8" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.8" and python_version < "3.10"