diff --git a/notebooks/demo/nxcugraph_for_ds_toolkit.ipynb b/notebooks/demo/nxcugraph_for_ds_toolkit.ipynb new file mode 100644 index 00000000000..6847c169cb6 --- /dev/null +++ b/notebooks/demo/nxcugraph_for_ds_toolkit.ipynb @@ -0,0 +1,2690 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "R2cpVp2WdOsp" + }, + "source": [ + "# NetworkX - Easy Graph Analytics\n", + "\n", + "NetworkX is the most popular library for graph analytics available in Python, or quite possibly any language. To illustrate this, NetworkX was downloaded more than 71 million times in September of 2024 alone, which is roughly 71 times more than the next most popular graph analytics library! [*](https://en.wikipedia.org/wiki/NetworkX) NetworkX has earned this popularity from its very easy-to-use API, the wealth of documentation and examples available, the large (and friendly) community behind it, and its easy installation which requires nothing more than Python.\n", + "\n", + "However, NetworkX users are familiar with the tradeoff that comes with those benefits. The pure-Python implementation often results in poor performance when graph data starts to reach larger scales, limiting the usefulness of the library for many real-world problems.\n", + "\n", + "# Accelerated NetworkX - Easy (and fast!) Graph Analytics\n", + "\n", + "To address the performance problem, NetworkX 3.0 introduced a mechanism to dispatch algorithm calls to alternate implementations. The NetworkX Python API remains the same but NetworkX will use more capable algorithm implementations provided by one or more backends. This approach means users don't have to give up NetworkX -or even change their code- in order to take advantage of GPU performance." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xkg10FrNThrK" + }, + "source": [ + "# Let's Get the Environment Setup\n", + "This notebook will demonstrate NetworkX both with and without GPU acceleration provided by the `nx-cugraph` backend.\n", + "\n", + "`nx-cugraph` is available as a package installable using `pip`, `conda`, and [from source](https://github.com/rapidsai/nx-cugraph). Before importing `networkx`, lets install `nx-cugraph` so it can be registered as an available backend by NetworkX when needed. We'll use `pip` to install.\n", + "\n", + "NOTES:\n", + "* `nx-cugraph` requires a compatible NVIDIA GPU, NVIDIA CUDA and associated drivers, and a supported OS. Details about these and other installation prerequisites can be seen [here](https://docs.rapids.ai/install#system-req).\n", + "* The `nx-cugraph` package is currently hosted by NVIDIA and therefore the `--extra-index-url` option must be used.\n", + "* `nx-cugraph` is supported on specific 11.x and 12.x CUDA versions, and the major version number must be known in order to install the correct build (this is determined automatically when using `conda`).\n", + "\n", + "To find the CUDA major version on your system, run the following command:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "NMFwzc1I95BS" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "nvcc: NVIDIA (R) Cuda compiler driver\n", + "Copyright (c) 2005-2023 NVIDIA Corporation\n", + "Built on Wed_Nov_22_10:17:15_PST_2023\n", + "Cuda compilation tools, release 12.3, V12.3.107\n", + "Build cuda_12.3.r12.3/compiler.33567101_0\n" + ] + } + ], + "source": [ + "!nvcc --version" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "i91Yj-yZ-nGS" + }, + "source": [ + "From the above output we can see we're using CUDA 12.x so we'll be installing `nx-cugraph-cu12`. If we were using CUDA 11.x, the package name would be `nx-cugraph-cu11`. We'll also be adding `https://pypi.nvidia.com` as an `--extra-index-url`:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "mYYN9EpnWphu" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://pypi.nvidia.com\n", + "Requirement already satisfied: nx-cugraph-cu12 in /home/dacosta/anaconda3/lib/python3.11/site-packages (24.8.0)\n", + "Requirement already satisfied: cupy-cuda12x>=12.0.0 in /home/dacosta/anaconda3/lib/python3.11/site-packages (from nx-cugraph-cu12) (13.3.0)\n", + "Requirement already satisfied: networkx>=3.0 in /home/dacosta/anaconda3/lib/python3.11/site-packages (from nx-cugraph-cu12) (3.3)\n", + "Requirement already satisfied: numpy<2.0a0,>=1.23 in /home/dacosta/anaconda3/lib/python3.11/site-packages (from nx-cugraph-cu12) (1.24.3)\n", + "Requirement already satisfied: pylibcugraph-cu12==24.8.* in /home/dacosta/anaconda3/lib/python3.11/site-packages (from nx-cugraph-cu12) (24.8.0)\n", + "Requirement already satisfied: pylibraft-cu12==24.8.* in /home/dacosta/anaconda3/lib/python3.11/site-packages (from pylibcugraph-cu12==24.8.*->nx-cugraph-cu12) (24.8.1)\n", + "Requirement already satisfied: rmm-cu12==24.8.* in /home/dacosta/anaconda3/lib/python3.11/site-packages (from pylibcugraph-cu12==24.8.*->nx-cugraph-cu12) (24.8.2)\n", + "Requirement already satisfied: cuda-python<13.0a0,>=12.0 in /home/dacosta/anaconda3/lib/python3.11/site-packages (from pylibraft-cu12==24.8.*->pylibcugraph-cu12==24.8.*->nx-cugraph-cu12) (12.6.0)\n", + "Requirement already satisfied: numba>=0.57 in /home/dacosta/anaconda3/lib/python3.11/site-packages (from rmm-cu12==24.8.*->pylibcugraph-cu12==24.8.*->nx-cugraph-cu12) (0.60.0)\n", + "Requirement already satisfied: fastrlock>=0.5 in /home/dacosta/anaconda3/lib/python3.11/site-packages (from cupy-cuda12x>=12.0.0->nx-cugraph-cu12) (0.8.2)\n", + "Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /home/dacosta/anaconda3/lib/python3.11/site-packages (from numba>=0.57->rmm-cu12==24.8.*->pylibcugraph-cu12==24.8.*->nx-cugraph-cu12) (0.43.0)\n" + ] + } + ], + "source": [ + "!pip install nx-cugraph-cu12 --extra-index-url=https://pypi.nvidia.com" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0h1K-7tI_AZH" + }, + "source": [ + "Of course, we'll also be using `networkx`, which is already provided in the Colab environment. This notebook will be using features added in version 3.3, so we'll import it here to verify we have a compatible version." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "YTV0ZTME2tV6" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'3.3'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import networkx as nx\n", + "nx.__version__" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "oFHwNqqsNsqS" + }, + "outputs": [], + "source": [ + "nx.config.backend_priority=[\"cugraph\"] # NETWORKX_BACKEND_PRIORITY=cugraph\n", + "nx.config.cache_converted_graphs=True # NETWORKX_CACHE_CONVERTED_GRAPHS=True" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "Namb5JLvwS-q" + }, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings(\"ignore\", message=\"Using cached graph for 'cugraph' backend\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mefjUEAnZ4pq" + }, + "source": [ + "# Working with Big Data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These are the two files we will use and the location/commands to get them." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "lyYF0LbtFwjh" + }, + "outputs": [], + "source": [ + "# !wget -P ../data/ https://s3.amazonaws.com/data.patentsview.org/download/g_us_patent_citation.tsv.zip\n", + "# !unzip -d ../data/ ../data/g_us_patent_citation.tsv.zip \n", + "# !wget -P ../data/ https://s3.amazonaws.com/data.patentsview.org/download/g_patent.tsv.zip\n", + "# !unzip -d ../data/ ../data/g_patent.tsv.zip" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will do all the dataframes using cudf pandas. Anything we can do in the dataframe will be very fast" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "id": "kjGINYphQSQ2" + }, + "outputs": [], + "source": [ + "%load_ext cudf.pandas\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This loads the US patent citation data. It contains an edge for relationship where a patent cites another patent." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# load the citation graph\n", + "citation_df = pd.read_csv(\"../data/g_us_patent_citation.tsv\",\n", + " sep='\\t',\n", + " header=0,\n", + " usecols=[0,2],\n", + " names=[\"source\", \"target\"],\n", + " dtype={\"source\":str,\"target\":str},\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the dataframe is using pandas accelerated with cudf, accessing it is fast !!" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "142183260" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(citation_df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This will take a few minutes. It is using NetworkX to create a 142 million edge graph on the cpu. This is a necessary overhead for loading the graph that will be later transformed into the cuGraph GPU-resident graph that will be reused in each algorithm we call, accelerating those algorithms dramatically." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 4min 44s, sys: 6.68 s, total: 4min 50s\n", + "Wall time: 4min 47s\n" + ] + } + ], + "source": [ + "%%time\n", + "G = nx.from_pandas_edgelist(citation_df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is being done on the cpu as well. It will take longer than counting the dataframe above." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "141943194" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "G.number_of_edges()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Running this first algorithm wraps in the overhead of building the cuGraph GPU-resident graph.\n", + "Subsequent algoritms will be faster." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "pr_results = nx.pagerank(G, backend=\"cugraph\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Running the same algorithm...but with the graph cached, it takes only seconds." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'10000000': 7.313559505163084e-08,\n", + " '5093563': 5.672378921474714e-07,\n", + " '5751830': 3.943318643203387e-07,\n", + " '10000001': 7.840154545278512e-08,\n", + " '7804268': 6.738226001864459e-08,\n", + " '9022767': 5.503292658992164e-08,\n", + " '9090016': 1.1375108300625524e-07,\n", + " '9108352': 1.056953182369159e-07,\n", + " '9296144': 4.626659602349458e-08,\n", + " '9566732': 7.183564998684646e-08,\n", + " '10000002': 3.592771622762587e-08,\n", + " '4617207': 1.911614734930973e-07,\n", + " '5094793': 4.5163486148169046e-07,\n", + " '8124241': 8.391583842043129e-08,\n", + " '10000003': 9.281761764877843e-08,\n", + " '4342799': 1.6568962571734793e-07,\n", + " '6071370': 1.4243191054291903e-07,\n", + " '8147232': 2.1866481833761183e-07,\n", + " '9352506': 4.4439270773473865e-08,\n", + " '10000004': 2.2580611087692385e-08,\n", + " '5632133': 1.2990069501171677e-07,\n", + " '6726363': 1.1521717177287244e-07,\n", + " '10000005': 5.3599538575265816e-08,\n", + " '1919649': 4.035542809905488e-08,\n", + " '2759217': 1.2518069368049342e-07,\n", + " '3287765': 5.425677063483607e-08,\n", + " '4674972': 1.8888564546127942e-07,\n", + " '5254296': 1.3346862887565e-07,\n", + " '5843492': 4.82684493677476e-07,\n", + " '10000007': 2.6116818243139936e-07,\n", + " '1404819': 2.9356102208435655e-08,\n", + " '2085447': 2.9356102208435655e-08,\n", + " '2241645': 1.9906362459418064e-08,\n", + " '2728299': 2.2094994281397615e-08,\n", + " '2737996': 5.829189999568406e-08,\n", + " '2821877': 5.835295517746147e-08,\n", + " '2999529': 1.0190665268027792e-07,\n", + " '3326304': 3.64583880294616e-08,\n", + " '3550424': 4.08188119119401e-08,\n", + " '3888102': 1.0785769761702476e-07,\n", + " '3940227': 1.8356134571232373e-07,\n", + " '4034591': 1.9335070161544326e-07,\n", + " '4050285': 1.627546663873369e-07,\n", + " '4107249': 2.6297536222828057e-07,\n", + " '4144735': 2.0823217488076122e-07,\n", + " '4154083': 2.472038470410929e-07,\n", + " '4194381': 2.6046345568402763e-07,\n", + " '4206603': 1.3063777393419344e-07,\n", + " '4342216': 1.0568222365345062e-07,\n", + " '4425783': 7.831723071657087e-08,\n", + " '4604890': 2.6953564158454525e-07,\n", + " '4689857': 6.88019461002319e-08,\n", + " '4706343': 4.297066363688241e-07,\n", + " '4733551': 2.0416635595867397e-07,\n", + " '4735078': 3.5565748830430563e-07,\n", + " '4796461': 8.861341680309526e-08,\n", + " '4890472': 3.4373670042088524e-07,\n", + " '4942757': 1.4174648645340935e-07,\n", + " '4947672': 3.3103917094835565e-07,\n", + " '4957021': 1.3713209600811327e-07,\n", + " '5046349': 2.3160110917406475e-07,\n", + " '5090230': 9.540564772477061e-08,\n", + " '5113679': 5.431462538480258e-07,\n", + " '5150644': 3.2103100404416345e-07,\n", + " '5152312': 1.6155345851840802e-07,\n", + " '5195042': 6.933474915948782e-07,\n", + " '5196773': 4.0347658714734185e-08,\n", + " '5243845': 1.1672665812323218e-07,\n", + " '5282378': 1.0146847966696232e-07,\n", + " '5425164': 3.736248141394951e-07,\n", + " '5553478': 3.187534515281487e-07,\n", + " '5727442': 1.6280418866913186e-07,\n", + " '5744085': 1.5385121652883081e-07,\n", + " '5782128': 2.739981549176279e-07,\n", + " '6446482': 1.9841449896091428e-07,\n", + " '6510719': 7.677384097876715e-08,\n", + " '6510723': 8.213007141304091e-08,\n", + " '6532635': 1.8982039326741292e-07,\n", + " '6662621': 9.163569305081864e-08,\n", + " '6862766': 8.008164931209857e-08,\n", + " '7065995': 8.000749311282297e-08,\n", + " '7128560': 8.71852240071299e-08,\n", + " '7159290': 1.1329670460005877e-07,\n", + " '7250753': 2.940498484712414e-07,\n", + " '7325346': 6.936220213241264e-08,\n", + " '7337514': 1.305921939062548e-07,\n", + " '7409828': 4.711105945890606e-08,\n", + " '7421877': 1.4483770984186615e-07,\n", + " '7533556': 1.7167939352371243e-07,\n", + " '7557568': 1.255533637458682e-07,\n", + " '7568372': 1.7651156324784644e-07,\n", + " '7607373': 7.817463098696886e-08,\n", + " '7908693': 1.974840958438362e-07,\n", + " '8056473': 3.0059612669002984e-07,\n", + " '8240624': 1.2774851294558533e-07,\n", + " '8262063': 1.4400557264595236e-07,\n", + " '8276430': 4.1302880823400667e-07,\n", + " '8303295': 3.199811942388963e-08,\n", + " '8307525': 1.1181573287437061e-07,\n", + " '8307690': 1.2357271036311328e-07,\n", + " '8517715': 1.5817849804939103e-07,\n", + " '8579175': 8.126140859948022e-08,\n", + " '10000008': 1.344432062603559e-07,\n", + " '118169': 2.6091924465952293e-08,\n", + " '433879': 2.7029909532514958e-08,\n", + " '746944': 2.841684471640676e-08,\n", + " '3406430': 3.738502339775235e-08,\n", + " '4013259': 3.541037352903961e-07,\n", + " '4102456': 2.102186049100795e-07,\n", + " '4218420': 7.735295975861503e-08,\n", + " '5718278': 2.981559999673922e-07,\n", + " '5916271': 2.683548243079507e-07,\n", + " '5979537': 2.5396270030131056e-07,\n", + " '6032719': 2.560262674477484e-07,\n", + " '6123141': 2.608119781006254e-07,\n", + " '6157865': 1.7307145731253834e-07,\n", + " '6299818': 9.18232140265481e-08,\n", + " '6435255': 2.5534834184735793e-07,\n", + " '6470571': 1.272357895341924e-07,\n", + " '7409763': 1.1557940368296857e-07,\n", + " '10000009': 5.097625562769712e-08,\n", + " '3456812': 3.325019121984269e-08,\n", + " '4936456': 1.1546861063219274e-07,\n", + " '5740051': 7.492654382962641e-07,\n", + " '5760500': 2.1487169007947936e-07,\n", + " '7518270': 1.2927969650000793e-07,\n", + " '10000010': 2.5572147380040247e-08,\n", + " '7250238': 2.1956434300401276e-07,\n", + " '7270408': 2.95525621648561e-07,\n", + " '7851549': 2.3205313454526468e-07,\n", + " '8470231': 5.334093474244392e-07,\n", + " '8488994': 6.036877486988476e-07,\n", + " '8888480': 6.068041492703558e-07,\n", + " '9193110': 2.3272630696759045e-07,\n", + " '9770869': 1.1558518167061531e-07,\n", + " '9904223': 8.151588892534664e-08,\n", + " '10000011': 9.753385294714192e-08,\n", + " '3186957': 6.83411218191183e-08,\n", + " '5182056': 6.830802281265666e-07,\n", + " '5182170': 6.424569422067124e-07,\n", + " '5204055': 3.001975950231698e-06,\n", + " '5216616': 7.703622690656695e-07,\n", + " '5242098': 8.523150548456634e-08,\n", + " '5257657': 2.156443556499598e-07,\n", + " '5286573': 3.4482291333841303e-07,\n", + " '5288443': 9.782893728027447e-08,\n", + " '5337961': 1.3946729702551002e-07,\n", + " '5387380': 1.984899626099375e-06,\n", + " '5496682': 2.4853798401946515e-07,\n", + " '5598200': 2.819385476506964e-07,\n", + " '6008281': 3.3157667341352176e-07,\n", + " '6202734': 2.5314692035808123e-07,\n", + " '6344426': 1.199905046404311e-07,\n", + " '6447712': 3.0700525181948587e-07,\n", + " '6558606': 1.853763711125753e-07,\n", + " '7144548': 8.020719515770317e-08,\n", + " '7364686': 2.519131074682875e-07,\n", + " '7628857': 9.980752718893081e-08,\n", + " '8047251': 2.0358927426133153e-07,\n", + " '8523331': 8.79520827338127e-08,\n", + " '8721032': 1.2505835573499587e-07,\n", + " '9149988': 5.185926501786349e-07,\n", + " '9370896': 3.3376089556688274e-07,\n", + " '9399323': 1.2605193318877828e-07,\n", + " '9815118': 3.415759024062724e-07,\n", + " '9833839': 2.587874621645745e-07,\n", + " '10000015': 1.4425843033427011e-08,\n", + " '6322901': 1.9572865376787593e-06,\n", + " '6600175': 1.4872172887880404e-06,\n", + " '6608332': 5.41588524869557e-07,\n", + " '10000016': 6.66011382670384e-08,\n", + " '3015600': 5.032921902410068e-08,\n", + " '4238263': 7.403151283037959e-08,\n", + " '5149393': 4.917941481406004e-07,\n", + " '6526728': 1.5027689281453216e-07,\n", + " '7637299': 5.980007109351548e-08,\n", + " '8651162': 6.788273314991182e-08,\n", + " '8820035': 6.521006552197448e-08,\n", + " '9499289': 5.029758615431427e-08,\n", + " '10000018': 1.0489164305755578e-07,\n", + " '5984247': 1.5055603620939818e-07,\n", + " '6641910': 3.050110702392406e-07,\n", + " '6680096': 7.903923990239884e-08,\n", + " '9310847': 4.6733726551681e-08,\n", + " '9680187': 6.38050547631215e-08,\n", + " '10000019': 1.1845350779501089e-07,\n", + " '5582677': 1.3675203275489272e-07,\n", + " '8205653': 7.69368456949988e-08,\n", + " '10000020': 2.3824719315907872e-08,\n", + " '5238614': 1.2270762688187042e-07,\n", + " '5594652': 7.269843915720937e-07,\n", + " '6355601': 9.144434805783466e-08,\n", + " '6966960': 1.2435857797134267e-07,\n", + " '7067462': 2.2884343280122364e-07,\n", + " '8801418': 4.236421839220889e-07,\n", + " '10000021': 3.376967080484976e-08,\n", + " '4235277': 1.567588546350073e-07,\n", + " '5932059': 2.259357032747546e-07,\n", + " '6224816': 1.6821542362141257e-07,\n", + " '7125512': 1.095035152220562e-07,\n", + " '7172724': 7.788876360106861e-08,\n", + " '7255821': 1.1490486707408647e-07,\n", + " '8738166': 1.3795530594849412e-07,\n", + " '10000022': 3.862774419926412e-08,\n", + " '4710562': 2.4326809673053983e-07,\n", + " '10000023': 7.12902595168247e-08,\n", + " '4849910': 1.332686532641387e-07,\n", + " '5049901': 3.736491250914416e-07,\n", + " '5104592': 2.761360801511168e-07,\n", + " '5121329': 3.400626198256338e-06,\n", + " '5447822': 5.327985931349228e-07,\n", + " '5521748': 4.157409716635512e-07,\n", + " '5631763': 2.2272902713476842e-07,\n", + " '5753171': 2.832576325059743e-07,\n", + " '5780070': 2.6982833318077257e-07,\n", + " '5876550': 9.061929526102706e-07,\n", + " '5885511': 1.1215128707948175e-07,\n", + " '5902537': 6.868677286006905e-07,\n", + " '5991102': 3.900759972065526e-07,\n", + " '6030199': 5.191770052596496e-07,\n", + " '6180050': 1.3659740800006682e-07,\n", + " '6267919': 1.2079305525959665e-07,\n", + " '6372178': 2.659507845819394e-07,\n", + " '6406658': 1.8075013574362392e-07,\n", + " '6560248': 1.691253332584265e-07,\n", + " '6570952': 1.6780916009628225e-07,\n", + " '6821473': 7.237296604705635e-08,\n", + " '7006887': 7.533754872709251e-08,\n", + " '7048528': 9.709891677369426e-08,\n", + " '7158849': 9.23464515062177e-08,\n", + " '7460159': 8.138914132089765e-08,\n", + " '7636610': 1.4436502167396742e-07,\n", + " '7759230': 2.418654179292155e-07,\n", + " '7831328': 1.8544114444535663e-07,\n", + " '7906414': 2.2507887076360055e-07,\n", + " '8905739': 3.855961923906356e-07,\n", + " '10000025': 3.5171086585920184e-08,\n", + " '4810167': 2.3262327041630145e-07,\n", + " '6641893': 1.048915179149506e-06,\n", + " '7575194': 1.0342863871765092e-07,\n", + " '7807249': 3.2068111242259135e-07,\n", + " '9289949': 6.910417637093236e-08,\n", + " '10000026': 2.8470531126616126e-08,\n", + " '5412185': 2.3511318490379797e-07,\n", + " '5645744': 6.007925228222091e-07,\n", + " '5728309': 7.927845505520406e-07,\n", + " '6211497': 2.23571622208287e-07,\n", + " '6528771': 3.036157797950407e-07,\n", + " '6906300': 7.584709891966242e-08,\n", + " '6979807': 1.1301854960721175e-07,\n", + " '8017059': 2.049246051651623e-07,\n", + " '10000027': 1.7214521605900638e-07,\n", + " '4655676': 2.987541166722385e-07,\n", + " '5342161': 5.280953524662963e-08,\n", + " '8235698': 6.318001489636086e-08,\n", + " '8491293': 6.537388750849333e-08,\n", + " '8505268': 1.1425626117771448e-07,\n", + " '8567589': 1.6326531557394746e-07,\n", + " '8974211': 8.017326817187546e-08,\n", + " '9227345': 9.354202375214756e-08,\n", + " '10000028': 1.6349901836079076e-07,\n", + " '2920354': 8.384352190911027e-08,\n", + " '3012275': 2.8384232881397023e-08,\n", + " '3178328': 4.223911846365119e-08,\n", + " '3252181': 1.9898281050462494e-07,\n", + " '3505157': 4.0211119129919935e-08,\n", + " '3697347': 5.14291696081965e-08,\n", + " '3717908': 1.0720125620522859e-07,\n", + " 'T909008': 2.0245387064053314e-08,\n", + " '3831741': 3.215008563281068e-08,\n", + " '3950584': 1.7283610686659315e-07,\n", + " '3985599': 1.9475710103586118e-07,\n", + " '3985600': 2.127185960566754e-07,\n", + " '4001366': 3.2171391154216344e-07,\n", + " '4038008': 1.111605258603686e-07,\n", + " '4152479': 2.418502997288147e-07,\n", + " '4384022': 9.855606209911442e-08,\n", + " '4634485': 3.4778795522083283e-07,\n", + " '4636419': 1.301684807007946e-07,\n", + " '4661389': 3.4567808640468757e-07,\n", + " '4775310': 8.661936072700707e-07,\n", + " '4842794': 2.1287952133576825e-07,\n", + " '4879084': 1.0864846077163434e-07,\n", + " '4933081': 2.601939761734622e-07,\n", + " '5077870': 6.021928669709997e-07,\n", + " '5207962': 1.298491587762595e-07,\n", + " '5236241': 7.417002615395326e-08,\n", + " '5260015': 3.020915132391124e-07,\n", + " '5290377': 1.5356715681439523e-07,\n", + " '5300058': 2.0785172882883933e-07,\n", + " '5419695': 2.7751710001181206e-07,\n", + " '5451239': 1.5298113333117508e-07,\n", + " '5605735': 1.8344624127188666e-07,\n", + " '5660778': 1.341515087633528e-07,\n", + " '5679302': 1.9766385444187503e-07,\n", + " '5692271': 1.4582210276935287e-07,\n", + " '5776343': 1.730282761035474e-07,\n", + " '5845375': 3.425587763874945e-07,\n", + " '5851089': 1.5746198869398502e-07,\n", + " '5891549': 1.1629087825409053e-07,\n", + " '5930875': 1.5673786406634774e-07,\n", + " '5945131': 2.2915889675304703e-07,\n", + " '5953797': 2.5238465550971016e-07,\n", + " '6030373': 3.1360841505699413e-07,\n", + " '6039911': 1.7924010406753943e-07,\n", + " '6054091': 2.8806229423586666e-07,\n", + " '6132660': 1.697579129856208e-07,\n", + " '6146369': 8.50298297665296e-08,\n", + " '6190594': 3.112359474144393e-07,\n", + " '6287665': 2.356001114019027e-07,\n", + " '6391420': 1.0701518347382754e-07,\n", + " '6489003': 1.1259854124474892e-07,\n", + " '6575953': 1.791170865579095e-07,\n", + " '6627133': 2.2756813330070003e-07,\n", + " '6994698': 4.693679662750464e-07,\n", + " '7001475': 1.0940020841991725e-07,\n", + " '7014906': 9.615630221328707e-08,\n", + " '7032278': 1.4764919224613627e-07,\n", + " '7048469': 5.976176011184595e-08,\n", + " '7048818': 7.717053385337223e-07,\n", + " '7048984': 1.256709561091283e-07,\n", + " '7125400': 5.8486766995564024e-08,\n", + " '7198743': 7.628059908430823e-08,\n", + " '7214334': 1.7144989000541332e-07,\n", + " '7235202': 8.744778505308519e-08,\n", + " '7241483': 9.891234629930232e-08,\n", + " '7371302': 7.818219832759645e-08,\n", + " '7373698': 6.903474906870688e-08,\n", + " '7407496': 1.2022538890446926e-07,\n", + " '7670522': 8.946395929427986e-08,\n", + " '7695799': 6.876960079468809e-08,\n", + " '7897078': 1.6401736784730893e-07,\n", + " '8020262': 1.0635752888994583e-07,\n", + " '8889243': 1.1730042582365638e-07,\n", + " '9138031': 1.3135860920483037e-07,\n", + " '9138957': 1.1932724587150016e-07,\n", + " '9155669': 7.496677802649215e-08,\n", + " '9314962': 1.3982825618577066e-07,\n", + " '10000029': 2.3118224306742935e-07,\n", + " '3926703': 3.820848450225589e-08,\n", + " '3991255': 3.336547902525066e-07,\n", + " '4031766': 1.2117561837714305e-07,\n", + " '4327138': 9.592576716636203e-08,\n", + " '4637810': 1.0581660055374953e-07,\n", + " '4642082': 5.5606740958632945e-08,\n", + " 'RE33389': 3.378574279446345e-08,\n", + " '5244436': 8.53464531615772e-08,\n", + " '5484342': 7.125539496068457e-08,\n", + " '5663225': 4.339440496875159e-08,\n", + " '5683819': 2.0979515756926318e-07,\n", + " '6186202': 4.001555829881096e-07,\n", + " '6287685': 2.0322286452641555e-07,\n", + " '6508354': 1.2703954096499915e-07,\n", + " '6641905': 7.155712171132448e-08,\n", + " '6739996': 6.358665288671052e-08,\n", + " '6758779': 1.7217475421837849e-07,\n", + " '6962639': 8.221245715184623e-08,\n", + " '7781528': 5.4592439524093326e-08,\n", + " '7887448': 1.4702221632506112e-07,\n", + " '7901313': 5.059126148566842e-08,\n", + " '8002922': 6.43425690740263e-08,\n", + " '8118966': 5.621779778025905e-08,\n", + " '8329282': 1.0286692175730891e-07,\n", + " '8337349': 1.766994368954387e-07,\n", + " '9273756': 3.6102244133699666e-07,\n", + " '10000030': 1.7485646748863365e-08,\n", + " '7290996': 2.494575241435388e-07,\n", + " '10000031': 1.1480035954333287e-07,\n", + " '4584795': 2.535742948594795e-07,\n", + " '5087307': 2.1560765720587094e-07,\n", + " '5117590': 1.6298316639717946e-07,\n", + " '5487694': 2.206772647548359e-07,\n", + " '5954567': 5.02283664318572e-08,\n", + " '6776689': 1.447277808861689e-07,\n", + " '6938339': 1.5710228642127512e-07,\n", + " '7309277': 9.605605689756409e-08,\n", + " '7452263': 7.830839475672497e-08,\n", + " '7452268': 1.5389065345041797e-07,\n", + " '7789929': 3.165295682634684e-08,\n", + " '7909904': 4.892968770409869e-08,\n", + " '9210901': 3.38103727014961e-08,\n", + " '10000032': 1.8828670821441726e-08,\n", + " '6041699': 2.250415157750668e-07,\n", + " '10000033': 8.178571466216615e-08,\n", + " '4055109': 2.090161294772777e-07,\n", + " '4586319': 1.6131585979939293e-07,\n", + " '5368394': 8.82839260059242e-08,\n", + " '5542766': 8.734855400172686e-08,\n", + " '5826401': 3.0273829060016177e-07,\n", + " '5826723': 2.6196307337510555e-07,\n", + " '5839831': 6.304273771778168e-08,\n", + " '6068585': 8.685989587752862e-08,\n", + " '6186933': 1.5245675962131132e-07,\n", + " '6467956': 1.762985696088079e-07,\n", + " '6517660': 9.51139768087278e-08,\n", + " '6686005': 5.350196172280066e-08,\n", + " '6899460': 1.9433857677214986e-07,\n", + " '6986237': 6.787700704518238e-08,\n", + " '7305742': 1.031981995035962e-07,\n", + " '7490989': 5.721616904701224e-08,\n", + " '7674040': 1.0078243845220518e-07,\n", + " '7784160': 9.499996820512681e-07,\n", + " '7857515': 1.1951419389843462e-06,\n", + " '7886412': 9.718274065181276e-07,\n", + " '8196269': 1.7166717249848091e-07,\n", + " '8197139': 1.3894507586022473e-07,\n", + " '8293348': 7.646067241479642e-08,\n", + " '8308021': 1.611300567266892e-07,\n", + " '8414465': 1.4858692399729486e-07,\n", + " '8469593': 3.811999536551127e-07,\n", + " '8474623': 2.801082017163365e-08,\n", + " '8568031': 3.8135122992827476e-07,\n", + " '8578572': 9.195419936594894e-08,\n", + " '8622616': 5.475724811887599e-08,\n", + " 'D753444': 6.772032185101994e-08,\n", + " '10000034': 6.676968994415265e-08,\n", + " '1810806': 5.519015727112053e-08,\n", + " '2920539': 4.886764257811106e-08,\n", + " '4422241': 1.2105018578950196e-07,\n", + " '4742771': 2.1991624465196434e-07,\n", + " '4744509': 3.3707454330512006e-07,\n", + " '5031332': 7.166042809517177e-08,\n", + " '5518491': 3.8313279488630816e-07,\n", + " '5626551': 3.135566272510644e-07,\n", + " '5685816': 6.329502444823913e-07,\n", + " '6635003': 3.621411087493316e-07,\n", + " '10000035': 2.07107804413082e-07,\n", + " '1104508': 3.1055023269453674e-08,\n", + " '1453823': 2.0864650171804218e-08,\n", + " '2612910': 4.213957099242598e-08,\n", + " '3073353': 5.126317456966032e-08,\n", + " 'D195540': 7.165123795826112e-08,\n", + " '3162470': 1.4044132566917148e-07,\n", + " '3205913': 8.279557500504014e-08,\n", + " '3530900': 8.155173860792385e-08,\n", + " 'D231928': 1.0678361105128887e-07,\n", + " '3885593': 6.172657517979765e-08,\n", + " '3939875': 2.1872972823986432e-07,\n", + " '4181157': 2.8108767002223827e-07,\n", + " 'D254505': 3.23044410823855e-07,\n", + " '4477109': 2.3203071553958642e-07,\n", + " '4478661': 4.262131566233774e-07,\n", + " '4541657': 1.635217937757892e-07,\n", + " 'D283342': 2.98079615589263e-07,\n", + " '4850620': 1.174035415199007e-07,\n", + " '4929478': 4.0582380660099926e-07,\n", + " '4944972': 1.0083754414432886e-07,\n", + " 'D334046': 2.0096015268049422e-07,\n", + " '5195563': 1.0778330601561451e-07,\n", + " '5285561': 6.67860222930957e-08,\n", + " '5302428': 1.6506493198974558e-07,\n", + " '5413147': 4.269938403955025e-07,\n", + " 'D368304': 1.5878249766861806e-07,\n", + " 'D383378': 3.199327980969256e-07,\n", + " 'D387146': 1.7518322751261888e-07,\n", + " 'D392722': 1.4415013311954648e-07,\n", + " 'D413657': 2.90646789967999e-07,\n", + " 'D413968': 1.254866222931654e-07,\n", + " '6024132': 2.2339339208542877e-07,\n", + " '6113153': 5.712329095954846e-08,\n", + " '6186181': 1.6153295749860907e-07,\n", + " '6302152': 1.1393286997478589e-07,\n", + " 'D483096': 1.4495748548161502e-07,\n", + " '6948527': 2.2551390203368314e-07,\n", + " '7168451': 1.4347791137393027e-07,\n", + " 'D575377': 1.592575015969589e-07,\n", + " 'D586435': 2.918489607011831e-07,\n", + " '7549448': 2.013364026027594e-07,\n", + " 'D605737': 1.9175130155172763e-07,\n", + " 'D613378': 7.345805053635203e-08,\n", + " 'D613780': 9.187302752571364e-08,\n", + " 'D613827': 2.2962534666628478e-07,\n", + " 'D631351': 1.9745009682848614e-07,\n", + " '7887662': 6.267541141488114e-08,\n", + " 'D642245': 3.2119731868150445e-07,\n", + " '7971617': 8.618283773028686e-08,\n", + " '7975633': 7.37070744793892e-08,\n", + " 'D645632': 8.674234382599771e-08,\n", + " 'D648502': 7.19642653212824e-08,\n", + " 'D648503': 6.998014613391925e-08,\n", + " 'D650052': 1.6322121599065346e-07,\n", + " '8141609': 6.916682489457922e-08,\n", + " '8211262': 1.0156967872263358e-07,\n", + " 'D666644': 1.0023964986763058e-07,\n", + " '8272420': 8.085241283480282e-08,\n", + " '8291941': 3.680380162117824e-07,\n", + " '8291942': 2.7833954366387375e-07,\n", + " 'D671196': 1.6742362480563124e-07,\n", + " '8359991': 1.2943647229446241e-07,\n", + " '8371143': 2.3235028484940253e-07,\n", + " 'D679784': 1.069768903049011e-07,\n", + " '8453701': 6.402088254472704e-08,\n", + " '8479776': 4.1010432821557447e-07,\n", + " 'D687528': 1.9357780439819982e-07,\n", + " 'D691261': 1.654522791617493e-07,\n", + " 'D693393': 1.054923662403815e-07,\n", + " 'D705284': 5.3854750909778807e-08,\n", + " 'D705285': 5.7794288189342e-08,\n", + " 'D706904': 1.4407438579632658e-07,\n", + " '8757213': 3.624783967685372e-07,\n", + " '8776836': 1.5633589207802355e-07,\n", + " '8826838': 1.4101783443411053e-07,\n", + " 'D714935': 2.044956002067961e-07,\n", + " 'D717406': 1.8387789099248933e-07,\n", + " 'D717848': 6.754736508075476e-08,\n", + " '8936046': 2.419174909383627e-07,\n", + " 'D722681': 1.3268853599820023e-07,\n", + " '8951380': 6.402088254472704e-08,\n", + " 'D723669': 1.259174084213325e-07,\n", + " 'D724186': 1.2476978891849264e-07,\n", + " 'D724187': 1.2029092864822217e-07,\n", + " '9022076': 1.2070634226401127e-07,\n", + " 'D731032': 3.9008728504057687e-07,\n", + " 'D736357': 1.9429339577341653e-07,\n", + " 'D736358': 2.2996752295046268e-07,\n", + " 'D736359': 2.2246655040638064e-07,\n", + " 'D736914': 2.092426407470887e-07,\n", + " 'D738471': 1.9528177555655826e-07,\n", + " 'D739493': 3.3563072851540974e-07,\n", + " 'D744562': 1.1154496521287767e-07,\n", + " 'D744563': 1.1793446467023903e-07,\n", + " 'D744564': 1.1949558117543825e-07,\n", + " '9234610': 1.572960993476965e-07,\n", + " '9279525': 3.9975994033125565e-07,\n", + " 'D757233': 1.7684850361669935e-07,\n", + " 'D760363': 1.7494271836737986e-07,\n", + " '10000037': 5.494406609417678e-08,\n", + " '2511329': 1.6848576115683386e-07,\n", + " '3904281': 1.4385385137098034e-07,\n", + " '5002326': 2.665674752504452e-07,\n", + " '5502516': 3.656258995137862e-07,\n", + " '5592698': 1.932749873476079e-07,\n", + " '6536045': 1.357447013359585e-07,\n", + " '6696225': 1.0133313462932243e-07,\n", + " '6847492': 1.2743633876484162e-07,\n", + " '7184217': 9.834024330573436e-08,\n", + " '10000038': 1.0015558372729614e-07,\n", + " '3754939': 1.578539200850993e-07,\n", + " '4804410': 4.469954556633924e-07,\n", + " '6886403': 3.468192532520324e-07,\n", + " '10000039': 4.4244533725874754e-08,\n", + " '2282026': 5.788663875393694e-07,\n", + " '2282057': 5.312900923586795e-07,\n", + " '5137954': 5.408009877013578e-07,\n", + " '5322875': 1.6760873546272306e-07,\n", + " '5728472': 6.234683405184996e-07,\n", + " '6180246': 1.8174448057350413e-07,\n", + " '6825255': 2.2985390249341874e-07,\n", + " '10000040': 4.0064093625258454e-08,\n", + " '4006048': 3.506314359624098e-07,\n", + " '6569510': 7.433821678057602e-08,\n", + " '7431979': 5.355495865802893e-07,\n", + " '8092865': 4.7883554994669073e-08,\n", + " '8257791': 3.89619977718488e-07,\n", + " '8475871': 2.935103251735123e-07,\n", + " '8617690': 9.193751645490475e-08,\n", + " '10000041': 6.612490432820371e-08,\n", + " '3977449': 2.1978310769089631e-07,\n", + " '4388133': 1.9123680616210066e-07,\n", + " '4731145': 1.4100242821937968e-07,\n", + " '10000042': 4.579574148511833e-08,\n", + " '5834126': 1.9046500206850272e-07,\n", + " '10000044': 3.6437309861165526e-08,\n", + " '2961332': 1.0262687758250514e-07,\n", + " '3808024': 8.528812275896682e-08,\n", + " '4240857': 1.4113924516550922e-07,\n", + " '4773959': 2.412488367092522e-07,\n", + " '4853276': 1.0154135998037495e-07,\n", + " '5919575': 3.762271645977317e-07,\n", + " '6684586': 8.413343521081683e-08,\n", + " '10000046': 1.5977689895442048e-08,\n", + " '5721177': 3.3692194014045593e-07,\n", + " '10000048': 1.3502194999959438e-07,\n", + " '2323963': 3.611306170411049e-08,\n", + " '2502499': 5.020377126461919e-08,\n", + " '2815142': 9.544294668428371e-08,\n", + " '3116195': 8.789689918384388e-08,\n", + " '3404060': 3.6566662864205896e-08,\n", + " '3880701': 9.982735844352384e-08,\n", + " '4003781': 1.690021440165622e-07,\n", + " '4080240': 7.467006842256683e-08,\n", + " '4086121': 1.6915008048112964e-07,\n", + " '4090914': 4.0087940150477735e-07,\n", + " '4105490': 2.0357361014986727e-07,\n", + " '4127434': 8.963853667403744e-08,\n", + " '4208239': 1.7717321822291032e-07,\n", + " '4358337': 1.2932867114638784e-07,\n", + " '4452663': 2.0952951239450485e-07,\n", + " '4555298': 9.385836579819196e-08,\n", + " '4707202': 2.820222429273965e-07,\n", + " '4828647': 2.728710181098577e-07,\n", + " '6209609': 1.0080248420999166e-07,\n", + " '6382922': 2.0873084628663033e-07,\n", + " '6412138': 8.08505986049098e-08,\n", + " '6565252': 5.251570490806795e-07,\n", + " '6874557': 2.143761595197371e-07,\n", + " '7325582': 7.406753886299216e-08,\n", + " '7621309': 1.4076551436491817e-07,\n", + " '7624782': 1.606176758505452e-07,\n", + " '7628295': 1.3235613625829104e-07,\n", + " '7798194': 2.089938701142125e-07,\n", + " '7823617': 4.16018659471218e-08,\n", + " '8783322': 5.557436464021706e-08,\n", + " '8863807': 8.592656725510047e-08,\n", + " '9359777': 1.1322632317608904e-07,\n", + " '10000049': 1.0874155400178136e-07,\n", + " '3259597': 2.8912985323442103e-08,\n", + " '4753819': 2.510621721762737e-07,\n", + " '5010131': 6.92424451252283e-08,\n", + " '5143949': 3.1527898165957763e-07,\n", + " '5169900': 1.4394599776162804e-07,\n", + " '5186978': 2.2556006284389276e-07,\n", + " '5212215': 4.4384432741906055e-08,\n", + " '5224967': 1.5169777242750076e-07,\n", + " '5244957': 9.131625907667624e-08,\n", + " '5275340': 1.0936044943045769e-07,\n", + " '5281436': 1.2173979915254843e-07,\n", + " '5300558': 1.5634754752042892e-07,\n", + " '5330795': 1.973736110711502e-07,\n", + " '5336349': 3.572503748516427e-07,\n", + " '5418006': 2.6108434737987765e-07,\n", + " '5509969': 1.3141205797536612e-07,\n", + " '5548017': 6.221867504282642e-08,\n", + " '5554325': 1.1798107904928931e-07,\n", + " '5736470': 2.0314522833001808e-07,\n", + " '5824734': 1.2526850318311042e-07,\n", + " '6124044': 3.14407798237866e-07,\n", + " '6171434': 4.194916442546969e-08,\n", + " '6773804': 1.649820366020991e-07,\n", + " '6861100': 6.837869194890572e-08,\n", + " '7169841': 8.128270601942597e-08,\n", + " '10000050': 2.4028188198925465e-08,\n", + " '4811540': 2.254083078328036e-07,\n", + " '4909655': 1.216014475572079e-07,\n", + " '5484277': 2.189602077716475e-07,\n", + " '7205066': 1.3530981904753357e-07,\n", + " '10000051': 3.444015078506159e-08,\n", + " '4052217': 2.0120924311344259e-07,\n", + " '5094095': 3.6337908085693615e-07,\n", + " '5141680': 4.7188572663898004e-07,\n", + " '6269938': 1.2106584694677428e-07,\n", + " '6571702': 1.5690104902577146e-07,\n", + " '8911199': 3.7474633326337794e-07,\n", + " '10000052': 1.1130916420982271e-07,\n", + " '3945957': 1.6160252628841125e-07,\n", + " '4304601': 4.668090528152527e-07,\n", + " '4403550': 3.922941788306274e-07,\n", + " '4445432': 3.231551719701093e-07,\n", + " '4711818': 2.2255318509160373e-07,\n", + " '4806391': 1.6905468870096292e-07,\n", + " '4911999': 6.692013557611679e-07,\n", + " '4927180': 2.2573167098357055e-07,\n", + " '5085698': 2.030429131493247e-06,\n", + " '5502476': 3.2635428086265e-07,\n", + " '5834118': 1.9310231279238823e-07,\n", + " '5886067': 2.200487761425923e-07,\n", + " '5977202': 1.3584364992689223e-07,\n", + " '6114489': 3.112412250353661e-07,\n", + " '6140392': 2.868914919463705e-07,\n", + " '6239189': 2.6139608539197396e-07,\n", + " '6329446': 1.9258431697446107e-07,\n", + " '6348561': 7.296976725310874e-08,\n", + " '6664015': 1.3172510145681312e-07,\n", + " '6896937': 4.1545331201351036e-07,\n", + " '7022752': 1.2408495614696023e-07,\n", + " '7151153': 1.2465442412672547e-07,\n", + " '7202006': 1.0472737875984609e-07,\n", + " '7208258': 7.321820588532691e-08,\n", + " '7322688': 1.669767435295836e-07,\n", + " '7538070': 1.8130413915238072e-07,\n", + " '7556844': 1.8601848408185771e-07,\n", + " '7674326': 9.202308054120873e-08,\n", + " '7708396': 9.26040150360069e-08,\n", + " '7718325': 1.4832432229912368e-07,\n", + " '7723398': 5.621124877593074e-08,\n", + " '7909924': 1.260285755918715e-07,\n", + " '7964271': 6.380162071803368e-08,\n", + " '8001889': 7.010434739190858e-08,\n", + " '8124791': 3.0893379083068186e-07,\n", + " '8158693': 6.845794211492905e-08,\n", + " '8222313': 2.2516143363254573e-07,\n", + " '8771787': 7.877088813230822e-08,\n", + " '8895400': 6.74217096066823e-08,\n", + " '8934823': 6.040061515321882e-08,\n", + " '9011594': 1.4551525534691623e-07,\n", + " '9193209': 8.990181817458799e-08,\n", + " '9283795': 8.14253219792508e-08,\n", + " '9359512': 4.8172120429908834e-08,\n", + " '9387661': 2.2318372661584053e-07,\n", + " '9422436': 3.3027580313072306e-08,\n", + " '10000053': 2.834921924705277e-08,\n", + " '5813336': 3.5425743395558716e-07,\n", + " '8850975': 1.0878143870480129e-07,\n", + " '10000054': 5.3598071811525955e-08,\n", + " '5588773': 3.0093648806822555e-07,\n", + " '6263794': 1.212688841841937e-07,\n", + " '6705227': 9.355426784625653e-08,\n", + " '7849794': 5.6077500868593695e-08,\n", + " '10000055': 2.330152679694803e-07,\n", + " '4346446': 2.1845371956894784e-07,\n", + " '4984773': 6.535961897670128e-08,\n", + " '5845576': 1.2394498400288688e-07,\n", + " '5964156': 1.6092504334731082e-07,\n", + " '6293193': 1.70303456656441e-07,\n", + " '6411314': 2.0554189240864613e-07,\n", + " '6705229': 1.1657428648240272e-07,\n", + " '7308228': 2.9304258587552942e-08,\n", + " '7454263': 8.892786633494545e-08,\n", + " '7561290': 3.804466567016805e-08,\n", + " '7567360': 4.4716500697291056e-07,\n", + " '7640500': 4.267898218177167e-08,\n", + " '7679777': 4.916559244673475e-08,\n", + " '8134733': 1.5116284158293545e-07,\n", + " '8146492': 7.759059286260309e-08,\n", + " '8194270': 9.978928291249042e-08,\n", + " '8204416': 8.580505542986829e-08,\n", + " '8213688': 1.573133434177411e-07,\n", + " '8311903': 2.7083027625166326e-08,\n", + " '8493611': 1.7485646748863365e-08,\n", + " '8687207': 9.071681193464692e-08,\n", + " '8736902': 4.163876221285198e-08,\n", + " '10000056': 2.178332378111412e-08,\n", + " '7096781': 1.412060564212622e-07,\n", + " '10000057': 2.0405247569010793e-08,\n", + " '5581284': 1.3393367527585751e-06,\n", + " '8120816': 1.4548896287856156e-07,\n", + " '10000058': 2.0470144687926388e-08,\n", + " '7852128': 7.123752534136091e-07,\n", + " '10000059': 8.0876382974562e-08,\n", + " '1854255': 4.9933992638042205e-08,\n", + " '9787069': 6.693402208044355e-08,\n", + " '10000064': 3.663041327049378e-08,\n", + " '4476472': 2.404569748651942e-07,\n", + " '6281911': 2.3767110350293308e-07,\n", + " '10000065': 1.1300318491240519e-07,\n", + " '5646666': 2.748389144142228e-07,\n", + " '5848859': 4.7490103365428026e-07,\n", + " '7467858': 2.6347085979426296e-07,\n", + " '10000069': 4.780814580974369e-08,\n", + " '4630069': 8.924914311660251e-08,\n", + " '6315471': 1.8463093889421352e-07,\n", + " '7760945': 4.5983338498430864e-08,\n", + " '10000070': 3.3601935619803695e-08,\n", + " '9457925': 1.617796340635626e-07,\n", + " '10000072': 1.6530607408363198e-08,\n", + " '5906158': 2.180028073568908e-07,\n", + " '10000074': 7.371077778372949e-08,\n", + " '4558334': 1.550105045126997e-07,\n", + " '4816653': 3.0681696078144647e-07,\n", + " '4972212': 9.156505724092098e-08,\n", + " '5225856': 7.752958434298702e-08,\n", + " '5866284': 2.4665747189074726e-07,\n", + " '6222513': 4.561638358766642e-07,\n", + " '6333754': 2.749253577736613e-07,\n", + " '6400492': 2.8588335102820445e-07,\n", + " '6424387': 1.5840870694799148e-07,\n", + " '6426827': 2.206061727631693e-07,\n", + " '6456272': 1.490638676062981e-07,\n", + " '6515790': 2.706017708767936e-07,\n", + " '6573880': 2.8062698237856396e-07,\n", + " '6738050': 7.659004037083552e-07,\n", + " '6795228': 9.715441630794886e-08,\n", + " '6982734': 1.797312760890301e-07,\n", + " '7140550': 4.396670869724633e-07,\n", + " '7265894': 6.278046636252245e-08,\n", + " '7284708': 2.2282517943169728e-07,\n", + " '7463400': 4.7594035231822254e-08,\n", + " '7580845': 2.0703145759001026e-07,\n", + " '7789489': 4.5171656794428574e-08,\n", + " '7834843': 8.972437987957259e-08,\n", + " '7975927': 1.7876507291422762e-07,\n", + " '8144388': 1.5817338139072315e-07,\n", + " '8514256': 1.6643165845966506e-07,\n", + " '10000075': 5.667636825724524e-08,\n", + " '8684511': 1.3546877125201496e-07,\n", + " '8833922': 1.1964007748819834e-07,\n", + " '10000076': 2.5601176511501616e-08,\n", + " '5333395': 2.561145210303825e-07,\n", + " '6854842': 1.2758283806124854e-07,\n", + " '8807736': 1.7983867093254526e-07,\n", + " '10000078': 3.9039564712472086e-08,\n", + " '5588762': 3.1723211234461787e-07,\n", + " '5649776': 1.8781578446298768e-07,\n", + " '6428226': 4.165299563379462e-07,\n", + " '6814515': 5.969994955048721e-07,\n", + " '6889031': 1.743975972224656e-07,\n", + " '6960259': 8.82625772924773e-08,\n", + " '10000080': 3.993791029466102e-08,\n", + " '5450099': 4.3484403150762357e-07,\n", + " '6523936': 5.747188559411115e-08,\n", + " '6540315': 1.5920605862452544e-07,\n", + " '6672697': 1.0471026630523068e-07,\n", + " '7434911': 5.1775288681943914e-08,\n", + " '10000081': 2.397195560309367e-08,\n", + " '5494885': 3.1009312510770993e-07,\n", + " '6040268': 1.3069865710153873e-07,\n", + " '10000082': 4.791474248749852e-08,\n", + " '3855924': 1.0931729073316785e-07,\n", + " '4625640': 4.313579344233004e-07,\n", + " '5222303': 3.2287802072591185e-07,\n", + " '5313885': 2.3935820164576736e-07,\n", + " '5642667': 1.006657269165409e-07,\n", + " '5791252': 1.1159203286049984e-07,\n", + " '5909709': 1.4866083861816227e-07,\n", + " '6209214': 8.590573743750252e-08,\n", + " '6223445': 8.354514803735367e-08,\n", + " '6226882': 1.2510379676010562e-07,\n", + " '6434848': 2.369162553919679e-07,\n", + " '6865819': 1.4006505879926664e-07,\n", + " '10000083': 5.865668801903461e-08,\n", + " '8129307': 8.282718188789814e-08,\n", + " '8247347': 1.0729182480047646e-07,\n", + " '8283284': 1.0729182480047646e-07,\n", + " '8466085': 1.1542838545630632e-07,\n", + " '8492308': 1.0754931089717994e-07,\n", + " '8609582': 1.202935174940194e-07,\n", + " '8722576': 6.121280512462105e-08,\n", + " '10000084': 5.6077500868593695e-08,\n", + " '8911074': 1.5660141061174368e-07,\n", + " '9278547': 1.3114263729127926e-07,\n", + " '9382439': 4.4236111413657274e-08,\n", + " '10000085': 1.7998062087324035e-08,\n", + " '4729310': 7.221731802676753e-07,\n", + " '4797693': 1.3341483556617897e-07,\n", + " '5671678': 2.832299650968327e-07,\n", + " '10000086': 3.6623234886837115e-08,\n", + " '3730806': 5.386241305755725e-08,\n", + " '3925126': 1.4781886441280502e-07,\n", + " '4678386': 1.296777124270962e-07,\n", + " '10000087': 9.124447741730101e-08,\n", + " '3643362': 4.320870498662787e-08,\n", + " '4255837': 1.944265935632421e-07,\n", + " '4564165': 2.000789184255623e-07,\n", + " '5381991': 2.2041751221108046e-07,\n", + " '5799428': 3.8997383966966583e-07,\n", + " '6088942': 8.939720914262487e-07,\n", + " '6546658': 8.894285047876576e-08,\n", + " '6779771': 8.657796225113993e-08,\n", + " '7373748': 2.264062064985504e-07,\n", + " '7487611': 7.891612736075415e-08,\n", + " '7673409': 6.467243508014695e-08,\n", + " '7722100': 1.465805414331425e-07,\n", + " '7743541': 1.0406687941983034e-07,\n", + " '7823311': 7.887145076663794e-08,\n", + " '8251329': 1.2256483039831108e-07,\n", + " '8302453': 2.9537333664698814e-08,\n", + " '8702051': 6.80436900984658e-08,\n", + " '10000088': 7.299730841543561e-08,\n", + " '1826195': 4.102425223347347e-08,\n", + " '2045774': 8.601901618237959e-08,\n", + " '7850385': 1.3167348535707783e-07,\n", + " '10000089': 4.684543121742552e-08,\n", + " '3887287': 1.8114846576719797e-07,\n", + " '4453849': 4.167447236533813e-07,\n", + " '5388924': 1.460279823041943e-07,\n", + " '5651627': 7.814522184052761e-08,\n", + " '5813787': 8.125353903644201e-08,\n", + " '6953296': 7.452235814968853e-08,\n", + " '7001091': 2.473700363421209e-07,\n", + " '7018122': 2.0147711902016204e-07,\n", + " '7156571': 8.879988226499136e-08,\n", + " '8011845': 1.6766929999965493e-07,\n", + " '8403577': 3.376900744826524e-07,\n", + " '10000090': 1.1451186423973491e-07,\n", + " '3786851': 2.6763731698529417e-07,\n", + " '4120337': 1.32756439392913e-07,\n", + " '4688615': 3.6382959150194473e-07,\n", + " '5178703': 1.6464891863352884e-07,\n", + " '5309963': 3.3497939798659294e-07,\n", + " '6481479': 2.6803016900951237e-07,\n", + " '9266396': 2.5160070020739712e-08,\n", + " '10000091': 1.1638272537883024e-07,\n", + " '6247512': 4.290039780653536e-07,\n", + " '8217103': 2.2655020644152784e-07,\n", + " '10000092': 1.0845314393150434e-07,\n", + " '9434215': 9.960096279322554e-08,\n", + " '9643457': 5.3299622017619655e-08,\n", + " '10000093': 1.5080230499469287e-08,\n", + " '6408910': 7.33164338983683e-07,\n", + " '10000095': 1.0424926540590984e-07,\n", + " '2679277': 2.9615499086912368e-08,\n", + " '3518335': 9.679322280859732e-08,\n", + " '4940069': 1.2486763148392143e-07,\n", + " '5332016': 3.4557918651789777e-07,\n", + " '6510883': 8.725920904180815e-08,\n", + " '8656969': 6.643141294949695e-08,\n", + " '10000096': 2.649538338435697e-08,\n", + " '4392522': 3.258658080056938e-07,\n", + " '7380450': 6.106211970970683e-08,\n", + " '10000097': 1.630963665083877e-07,\n", + " '423708': 2.265877650990594e-08,\n", + " '6807853': 1.5079306598567008e-07,\n", + " '7549327': 2.6871859732176736e-07,\n", + " '8074507': 3.038705538369019e-08,\n", + " '8365589': 1.0021006205169987e-07,\n", + " '9000923': 3.0868614224083366e-08,\n", + " '10000099': 3.6911510364460995e-08,\n", + " '5540092': 4.1383225179268737e-07,\n", + " '6016102': 1.559151196995512e-07,\n", + " '10000100': 1.1214445506592161e-07,\n", + " '4364267': 1.510888287752618e-07,\n", + " '4504761': 3.083318974664969e-07,\n", + " '5247831': 1.3841179127163578e-07,\n", + " '5749984': 5.797105148087517e-07,\n", + " '6417764': 2.5339873118197225e-07,\n", + " '6539295': 2.9444596810010937e-07,\n", + " '6880394': 9.266758425414001e-08,\n", + " '6917285': 4.639087894307155e-08,\n", + " '6959593': 2.6075281261612715e-07,\n", + " '6980925': 6.448349517569509e-08,\n", + " '7000462': 2.2626225557903558e-07,\n", + " '7343787': 1.9422514199803898e-07,\n", + " '7404317': 2.0466546252757775e-07,\n", + " '7661300': 6.698912532697523e-08,\n", + " '10000101': 9.162190430210654e-08,\n", + " '6405591': 1.6174358821693457e-07,\n", + " '6854950': 9.606977325203822e-08,\n", + " '7438109': 2.4509097781504817e-07,\n", + " '8250915': 2.4664836790066893e-07,\n", + " '8904863': 1.3127183694273862e-07,\n", + " '9032789': 1.0563567912324252e-07,\n", + " '9114676': 1.375854928262286e-07,\n", + " '9645037': 1.5925805479819509e-07,\n", + " '10000102': 6.820616975077524e-08,\n", + " '3042391': 4.927510181502968e-08,\n", + " '4858897': 1.2089138296456129e-07,\n", + " '7722335': 2.401905277559542e-07,\n", + " '7793922': 6.177544182723794e-08,\n", + " '9764612': 1.3815626674020057e-07,\n", + " '10000103': 1.8995535847809513e-07,\n", + " '2790327': 2.703604015386504e-08,\n", + " '3073405': 3.228875652661596e-08,\n", + " '3213710': 3.491511471299143e-08,\n", + " '3276411': 2.995421591650444e-08,\n", + " '7675432': 8.488165209029713e-08,\n", + " '8065054': 1.5621845468633135e-07,\n", + " '8485037': 6.538298092467048e-08,\n", + " '8788146': 1.1686740861135406e-07,\n", + " '8948501': 3.350541124351997e-07,\n", + " '9359009': 5.673409041518756e-08,\n", + " '9437111': 1.4338184625981558e-07,\n", + " '9518830': 3.7137984930097893e-07,\n", + " '9533539': 2.9900476867116477e-07,\n", + " '9669677': 1.703042781541652e-07,\n", + " '9672744': 8.67273300852676e-08,\n", + " '10000104': 4.4633611435260266e-07,\n", + " '2409349': 2.0522842233606526e-08,\n", + " '2473043': 1.7805919971838807e-08,\n", + " '3896908': 1.4949007012585643e-07,\n", + " '3945474': 9.144212893755799e-08,\n", + " '4317105': 1.2301373140796733e-07,\n", + " '4352417': 2.6240396284950596e-07,\n", + " '4468050': 2.0886982607760454e-07,\n", + " '4552324': 2.729780599123305e-07,\n", + " '4564214': 1.227951877683249e-07,\n", + " '4589528': 1.7361403594040113e-07,\n", + " '4591186': 7.844891399112018e-08,\n", + " '4696489': 3.44980502555742e-07,\n", + " '4723640': 2.69463450868623e-07,\n", + " '4726453': 2.2395006164861318e-07,\n", + " '4749070': 1.6764488761057568e-07,\n", + " '4776437': 2.1933881594757758e-07,\n", + " '4788489': 1.4277052469506359e-07,\n", + " '4846317': 1.6574659356854436e-07,\n", + " '4850460': 1.3168350169624683e-07,\n", + " '4867476': 8.70512050603346e-08,\n", + " '4872537': 6.044205355356454e-08,\n", + " '4892328': 2.7080517609378206e-07,\n", + " '4909536': 1.6849242124069578e-07,\n", + " '4913457': 9.667457476329417e-08,\n", + " '4943083': 2.543365243893143e-07,\n", + " '4958706': 2.5593722613972856e-07,\n", + " '4969662': 1.4528472281188012e-07,\n", + " '4973854': 1.9779482293724658e-07,\n", + " '4984819': 1.4107728573719905e-07,\n", + " '4986393': 1.2543267430881605e-07,\n", + " '4988967': 8.703104485943202e-08,\n", + " '5038613': 1.4652583446108972e-07,\n", + " '5058715': 6.382170613397882e-08,\n", + " '5067743': 3.691066581966361e-08,\n", + " '5092626': 5.901329676833256e-08,\n", + " '5106053': 1.2841606066672976e-07,\n", + " '5123671': 3.2929956708555216e-07,\n", + " '5133434': 1.45877466859389e-07,\n", + " '5133574': 8.879663967707578e-08,\n", + " '5143185': 1.9814967430065222e-07,\n", + " '5154442': 1.7552036946484442e-07,\n", + " '5160162': 2.5635023876988286e-08,\n", + " '5189614': 6.742954032097909e-08,\n", + " '5200895': 8.593584139555631e-08,\n", + " '5242190': 8.742881853545992e-08,\n", + " '5285878': 1.4927541022064342e-07,\n", + " '5293968': 1.2916691656612495e-07,\n", + " '5299488': 2.0191691186574021e-07,\n", + " '5337863': 2.8562894634385774e-08,\n", + " '5350187': 1.7580600844315137e-07,\n", + " '5350983': 1.3134430318337252e-07,\n", + " '5360089': 1.9020255485069512e-07,\n", + " '5360230': 1.1607697652022525e-07,\n", + " '5363945': 2.2099301629287409e-07,\n", + " ...}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nx.pagerank(G, backend=\"cugraph\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This call finds the patent with the highest pagerank score." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'D732697'" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mip = sorted(pr_results.items(), key=lambda x: x[1], reverse=True)[2:3][0]\n", + "most_important_patent = mip[0]\n", + "mip[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "clusters = nx.community.louvain_communities(G,seed =1, backend=\"cugraph\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "for cluster in clusters:\n", + " if most_important_patent in cluster:\n", + " save_cluster = cluster" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'10162442',\n", + " '9854654',\n", + " 'D697666',\n", + " '7371603',\n", + " '8850743',\n", + " '11956554',\n", + " '11476626',\n", + " '5040995',\n", + " '9852967',\n", + " '4747029',\n", + " '7192692',\n", + " '9711490',\n", + " '9735877',\n", + " '4275993',\n", + " '11142012',\n", + " '8120256',\n", + " '6780355',\n", + " '11317749',\n", + " '8648980',\n", + " 'D977179',\n", + " '9660428',\n", + " '2149363',\n", + " '4992700',\n", + " '6679433',\n", + " '10381527',\n", + " '8596826',\n", + " '7248176',\n", + " '10648632',\n", + " '774582',\n", + " '8246201',\n", + " 'D251328',\n", + " '10120208',\n", + " '6301064',\n", + " '8708525',\n", + " '1695600',\n", + " '7364331',\n", + " '4804886',\n", + " '5358437',\n", + " '5073847',\n", + " '9869435',\n", + " 'D62666',\n", + " '11835185',\n", + " '10727731',\n", + " 'D140303',\n", + " '8330950',\n", + " 'D928377',\n", + " '11575980',\n", + " '1686663',\n", + " '8071995',\n", + " '1869221',\n", + " 'D877401',\n", + " 'D351115',\n", + " '3342986',\n", + " '10451237',\n", + " '8344602',\n", + " '5744916',\n", + " '6739740',\n", + " 'D468053',\n", + " '8803441',\n", + " 'D222362',\n", + " '4338653',\n", + " 'D766838',\n", + " '10962193',\n", + " '4016827',\n", + " 'D633231',\n", + " '8227997',\n", + " '10645558',\n", + " '1588222',\n", + " '5016956',\n", + " 'D683066',\n", + " '6734630',\n", + " '7425798',\n", + " '7868903',\n", + " '10030852',\n", + " '8207554',\n", + " '4703574',\n", + " '5485359',\n", + " '10734543',\n", + " '2118264',\n", + " 'D992767',\n", + " '11519587',\n", + " '7466084',\n", + " '2794905',\n", + " '8408733',\n", + " 'D542738',\n", + " 'D772463',\n", + " '11193648',\n", + " '1161840',\n", + " '11219109',\n", + " '2340427',\n", + " '9590086',\n", + " '2139805',\n", + " '3904904',\n", + " 'D621987',\n", + " '3544482',\n", + " '5998942',\n", + " '7795634',\n", + " '9681566',\n", + " '9245397',\n", + " '8297772',\n", + " 'D290102',\n", + " '8242006',\n", + " '10000160',\n", + " 'D678579',\n", + " '7352139',\n", + " '7972022',\n", + " '11250664',\n", + " 'D63532',\n", + " '7695173',\n", + " '4994092',\n", + " 'D475784',\n", + " '4782432',\n", + " '9991654',\n", + " '8368292',\n", + " '4614897',\n", + " '7983313',\n", + " 'D937449',\n", + " '344232',\n", + " '8899795',\n", + " '7354172',\n", + " '10439102',\n", + " '6992432',\n", + " '10502404',\n", + " '7466896',\n", + " '6769794',\n", + " '2532023',\n", + " '1963949',\n", + " '7473074',\n", + " '6866409',\n", + " '6492773',\n", + " '1684795',\n", + " 'D383228',\n", + " '6625562',\n", + " 'D385056',\n", + " '6402356',\n", + " 'D401622',\n", + " '8390182',\n", + " '8362678',\n", + " 'D708151',\n", + " '8733980',\n", + " '6744480',\n", + " '11777294',\n", + " 'D231252',\n", + " '6242872',\n", + " '9468053',\n", + " '7813124',\n", + " '10014941',\n", + " '10302266',\n", + " '3863999',\n", + " '7284880',\n", + " '8789991',\n", + " 'RE43412',\n", + " '11221115',\n", + " '1631003',\n", + " 'D638569',\n", + " '4947086',\n", + " 'D541464',\n", + " 'D881143',\n", + " '8047794',\n", + " '10222012',\n", + " 'D688360',\n", + " '7087659',\n", + " 'D325099',\n", + " 'D507370',\n", + " '3790846',\n", + " 'D748592',\n", + " 'D626644',\n", + " '3591794',\n", + " 'D548862',\n", + " '5013253',\n", + " 'D303578',\n", + " '1987711',\n", + " '10302281',\n", + " 'D970786',\n", + " '1826923',\n", + " '10006652',\n", + " '4353007',\n", + " '10685940',\n", + " '11916177',\n", + " 'D780701',\n", + " '7797117',\n", + " '6092918',\n", + " '6439747',\n", + " 'D556923',\n", + " '9113504',\n", + " '8916271',\n", + " 'D543654',\n", + " '6087784',\n", + " '8912441',\n", + " '10958187',\n", + " '10334704',\n", + " '6406169',\n", + " '5941625',\n", + " '1691209',\n", + " '2765481',\n", + " '6734934',\n", + " '7290906',\n", + " 'D75030',\n", + " '3440077',\n", + " '4164010',\n", + " '3327244',\n", + " '9362466',\n", + " '4090186',\n", + " '7077649',\n", + " '9441819',\n", + " '2041458',\n", + " 'D557861',\n", + " '4549253',\n", + " '4634613',\n", + " '9569331',\n", + " '2824216',\n", + " '1801864',\n", + " '7253450',\n", + " '2544692',\n", + " '9510416',\n", + " '6771339',\n", + " '4825127',\n", + " 'D480160',\n", + " '7618170',\n", + " '9112105',\n", + " '5350315',\n", + " '10309586',\n", + " '3619224',\n", + " '10008635',\n", + " '5956462',\n", + " '8866839',\n", + " 'D481156',\n", + " '3051072',\n", + " '7407693',\n", + " '9742175',\n", + " '5188454',\n", + " '3555339',\n", + " '1966059',\n", + " '10332966',\n", + " '10039172',\n", + " '11527515',\n", + " 'D324578',\n", + " '5248919',\n", + " '11088613',\n", + " '9068712',\n", + " '10519981',\n", + " '2596166',\n", + " '10971656',\n", + " '7777418',\n", + " '7834374',\n", + " '8927348',\n", + " '10327301',\n", + " 'D462394',\n", + " '1902321',\n", + " '11212656',\n", + " '8052312',\n", + " '6305808',\n", + " '7635871',\n", + " '8282274',\n", + " '4410933',\n", + " '9651201',\n", + " '1759918',\n", + " '8247996',\n", + " 'D525536',\n", + " 'D831264',\n", + " '6930734',\n", + " '4325146',\n", + " '5893548',\n", + " '10400960',\n", + " '10325892',\n", + " 'D434513',\n", + " '6570328',\n", + " '10352511',\n", + " '8852470',\n", + " '11906772',\n", + " '11747000',\n", + " '2867718',\n", + " '5038008',\n", + " '687738',\n", + " '9431187',\n", + " '11098225',\n", + " '7580089',\n", + " '6850009',\n", + " '10914403',\n", + " 'D647977',\n", + " '9083109',\n", + " '2062113',\n", + " '7279809',\n", + " 'D530849',\n", + " 'D189452',\n", + " '8905618',\n", + " '10356879',\n", + " '11088190',\n", + " '3900863',\n", + " 'D752804',\n", + " 'D282202',\n", + " '2178294',\n", + " '6103604',\n", + " '9939716',\n", + " 'D938523',\n", + " '10717909',\n", + " '11598498',\n", + " '9562670',\n", + " 'D876613',\n", + " 'D402076',\n", + " '4740870',\n", + " '9020355',\n", + " 'D468460',\n", + " 'D729972',\n", + " 'D854723',\n", + " '10323816',\n", + " '10819824',\n", + " '4473938',\n", + " '9639748',\n", + " 'D855240',\n", + " '2742327',\n", + " '6009649',\n", + " '2002/0139987',\n", + " '5109323',\n", + " '2683258',\n", + " '3130921',\n", + " '8021206',\n", + " '11402443',\n", + " '83711',\n", + " '9634190',\n", + " 'D627501',\n", + " '8579475',\n", + " '8259097',\n", + " '1908971',\n", + " '2155114',\n", + " '9651733',\n", + " '8076953',\n", + " 'D1000660',\n", + " '2363701',\n", + " '1449444',\n", + " '7566145',\n", + " '5833344',\n", + " '9793435',\n", + " 'D740990',\n", + " '3870393',\n", + " '9570043',\n", + " '4268306',\n", + " '2291347',\n", + " '10043945',\n", + " '4532456',\n", + " '9151456',\n", + " '10711015',\n", + " '8610369',\n", + " '6807923',\n", + " 'D607848',\n", + " 'D629539',\n", + " '9039105',\n", + " '8143797',\n", + " '11296266',\n", + " '5563473',\n", + " '10078168',\n", + " 'D365655',\n", + " 'D800376',\n", + " '704799',\n", + " '8546830',\n", + " '8896837',\n", + " '10559617',\n", + " '2893149',\n", + " '2474455',\n", + " '10088175',\n", + " '10735840',\n", + " 'D662637',\n", + " 'D405172',\n", + " 'D849308',\n", + " 'D874043',\n", + " '6955455',\n", + " '10018345',\n", + " '11152549',\n", + " '3622774',\n", + " '6390629',\n", + " '11603976',\n", + " 'D806304',\n", + " '3104087',\n", + " '4423349',\n", + " '3384966',\n", + " '3038381',\n", + " 'D37947',\n", + " 'D327548',\n", + " '9743485',\n", + " '8525659',\n", + " 'D744079',\n", + " '9287477',\n", + " '8556452',\n", + " '2280901',\n", + " '10611175',\n", + " '9388956',\n", + " '10021756',\n", + " '6599133',\n", + " 'D261180',\n", + " '7856235',\n", + " '6655812',\n", + " '6474836',\n", + " '9122449',\n", + " '7648254',\n", + " '2959761',\n", + " '5222794',\n", + " 'D491890',\n", + " '8178894',\n", + " '9864339',\n", + " '8491177',\n", + " '5083245',\n", + " '7633463',\n", + " '6508396',\n", + " 'D866041',\n", + " 'D894464',\n", + " '8414168',\n", + " '8721110',\n", + " '9502616',\n", + " '2966605',\n", + " '10190749',\n", + " 'D868300',\n", + " 'D617027',\n", + " '1459372',\n", + " '7192149',\n", + " 'D804409',\n", + " '11895748',\n", + " '11267279',\n", + " '9980333',\n", + " '3032648',\n", + " 'D56881',\n", + " '6219117',\n", + " '1664038',\n", + " '7070291',\n", + " '11088520',\n", + " '4175281',\n", + " 'D1007554',\n", + " 'D440945',\n", + " '9506614',\n", + " '5866977',\n", + " '9966414',\n", + " '11226081',\n", + " '5479714',\n", + " '10107466',\n", + " '7926970',\n", + " '9298038',\n", + " 'D342331',\n", + " '5659227',\n", + " '6359395',\n", + " 'D1005560',\n", + " 'D987128',\n", + " '9157580',\n", + " '5034655',\n", + " '3735141',\n", + " '9961745',\n", + " '11508871',\n", + " '2299720',\n", + " '11102864',\n", + " '10697593',\n", + " '6813125',\n", + " '5582963',\n", + " '4016561',\n", + " '8659040',\n", + " 'D757665',\n", + " 'D506847',\n", + " 'D519629',\n", + " '5060303',\n", + " '3191025',\n", + " '8579135',\n", + " '7679099',\n", + " '9720165',\n", + " '6283609',\n", + " '209552',\n", + " '8629622',\n", + " '3893019',\n", + " 'D777684',\n", + " '7222990',\n", + " '10502871',\n", + " '2277685',\n", + " '10242958',\n", + " 'D301460',\n", + " '4317996',\n", + " '2002/0008501',\n", + " '3549552',\n", + " 'D252051',\n", + " '6996296',\n", + " '7447407',\n", + " '8267561',\n", + " '3221198',\n", + " '7872417',\n", + " '993877',\n", + " '9318661',\n", + " 'D631989',\n", + " '5907126',\n", + " '11085652',\n", + " '7271424',\n", + " '5681107',\n", + " 'D629093',\n", + " '10797201',\n", + " 'D565213',\n", + " '6907182',\n", + " '6885412',\n", + " '10193045',\n", + " '9494812',\n", + " '3752977',\n", + " '8564223',\n", + " '10755519',\n", + " '7144135',\n", + " '8236108',\n", + " '11747001',\n", + " 'D632417',\n", + " '9028212',\n", + " '9167675',\n", + " 'D930987',\n", + " '7210793',\n", + " '9061220',\n", + " '5508896',\n", + " '5963185',\n", + " '4103125',\n", + " '5459645',\n", + " '7641378',\n", + " '6843585',\n", + " '10302261',\n", + " '2462306',\n", + " 'D214080',\n", + " 'D444895',\n", + " '472756',\n", + " 'D247766',\n", + " '5547402',\n", + " '6320328',\n", + " 'D50335',\n", + " 'D530683',\n", + " 'D992925',\n", + " '5431862',\n", + " '5444310',\n", + " 'D578425',\n", + " 'D956320',\n", + " '5122942',\n", + " 'D942067',\n", + " '10462873',\n", + " 'D246444',\n", + " 'D189226',\n", + " 'D750318',\n", + " '9341339',\n", + " '4120565',\n", + " '11489324',\n", + " 'D707874',\n", + " '9151469',\n", + " '10030841',\n", + " '8602603',\n", + " '2394116',\n", + " '8841857',\n", + " '9775391',\n", + " '10367582',\n", + " 'D863597',\n", + " 'D544137',\n", + " '2806670',\n", + " '6489937',\n", + " '1661870',\n", + " '1257596',\n", + " '2774010',\n", + " '7549881',\n", + " '4425604',\n", + " 'D377234',\n", + " 'D701636',\n", + " 'D245585',\n", + " '4047096',\n", + " 'D213252',\n", + " '6544049',\n", + " '11501963',\n", + " 'D994750',\n", + " '11088518',\n", + " '9875886',\n", + " 'D470963',\n", + " '10617286',\n", + " '2566950',\n", + " '6224219',\n", + " '5220247',\n", + " '6346720',\n", + " '6626565',\n", + " 'D925106',\n", + " '8789243',\n", + " '9993574',\n", + " '10023105',\n", + " '8186841',\n", + " '4622487',\n", + " '10808918',\n", + " '5434765',\n", + " '446142',\n", + " '4088882',\n", + " '3440996',\n", + " '10655827',\n", + " 'D416643',\n", + " 'D585539',\n", + " 'D235114',\n", + " '3376073',\n", + " 'D216313',\n", + " '10091303',\n", + " 'D293824',\n", + " '4737609',\n", + " '3142758',\n", + " '11912914',\n", + " '7635216',\n", + " '6979113',\n", + " '2539654',\n", + " '5808450',\n", + " '4250491',\n", + " '7566911',\n", + " '6991359',\n", + " '20010020823',\n", + " '4443734',\n", + " '7506996',\n", + " '10854070',\n", + " '5550421',\n", + " '1225491',\n", + " '10090486',\n", + " 'D389805',\n", + " '9275564',\n", + " '7569613',\n", + " 'D651574',\n", + " '8684554',\n", + " '8786196',\n", + " '7318701',\n", + " '11874558',\n", + " '7352006',\n", + " '11794536',\n", + " '11085597',\n", + " '9426859',\n", + " '7294221',\n", + " '4052608',\n", + " 'D849987',\n", + " '2495265',\n", + " '8669576',\n", + " 'D556354',\n", + " '7869171',\n", + " 'D871346',\n", + " '6686540',\n", + " '7165992',\n", + " '10251239',\n", + " '9670594',\n", + " '7155923',\n", + " 'D662644',\n", + " 'D795128',\n", + " '8721925',\n", + " 'D486211',\n", + " '3704365',\n", + " '10982831',\n", + " '8906159',\n", + " '369665',\n", + " '9752753',\n", + " '7782419',\n", + " '10233640',\n", + " '1031241',\n", + " '3267456',\n", + " '606792',\n", + " '11051376',\n", + " '10467610',\n", + " '11059447',\n", + " '7832918',\n", + " '6386723',\n", + " '8421979',\n", + " '4814663',\n", + " '2172523',\n", + " '6407862',\n", + " 'D705842',\n", + " '9942965',\n", + " '8004001',\n", + " '2242525',\n", + " '3675064',\n", + " '7112821',\n", + " '10578265',\n", + " '3684919',\n", + " 'D641848',\n", + " '7204604',\n", + " '5392728',\n", + " '9303837',\n", + " '5975477',\n", + " 'D792991',\n", + " 'D849985',\n", + " '8373806',\n", + " '10849237',\n", + " '8531132',\n", + " 'D235977',\n", + " 'D407843',\n", + " '5744905',\n", + " '4394718',\n", + " '7811908',\n", + " 'D233167',\n", + " '5601485',\n", + " '4473776',\n", + " '3963204',\n", + " '5211878',\n", + " 'D69865',\n", + " 'D942060',\n", + " '9210753',\n", + " '7495263',\n", + " 'D858856',\n", + " '11262494',\n", + " '8653552',\n", + " '4940922',\n", + " '5090913',\n", + " '7792259',\n", + " '4654759',\n", + " '5323334',\n", + " 'D898270',\n", + " '1241771',\n", + " '7142767',\n", + " '1296932',\n", + " '9759844',\n", + " 'D794198',\n", + " 'D636115',\n", + " '9172007',\n", + " '4791337',\n", + " '9916474',\n", + " '10024501',\n", + " '7902756',\n", + " 'D437075',\n", + " '1581502',\n", + " '3826561',\n", + " 'D521677',\n", + " '7873313',\n", + " 'D713950',\n", + " 'D940104',\n", + " '9857042',\n", + " '11005006',\n", + " '9832844',\n", + " '7183706',\n", + " '10978569',\n", + " 'D782102',\n", + " '4912720',\n", + " '3624503',\n", + " '4973128',\n", + " '5800909',\n", + " '5159346',\n", + " 'D566257',\n", + " '5272281',\n", + " '10585281',\n", + " '9229236',\n", + " '7300191',\n", + " '11121285',\n", + " '1940348',\n", + " '8928006',\n", + " 'D893068',\n", + " '9105817',\n", + " '5823665',\n", + " '11058069',\n", + " '5634357',\n", + " 'Re25900',\n", + " '11675249',\n", + " '539577',\n", + " '4196368',\n", + " '9822960',\n", + " 'D395723',\n", + " '4862164',\n", + " '10032754',\n", + " '7175329',\n", + " 'D453582',\n", + " '9167141',\n", + " '11959610',\n", + " '3992873',\n", + " '10769990',\n", + " '4088416',\n", + " 'D195053',\n", + " 'D637273',\n", + " '6649939',\n", + " '8317470',\n", + " '9733421',\n", + " '4955975',\n", + " 'D469339',\n", + " 'D256986',\n", + " '6004618',\n", + " '4520435',\n", + " 'D479354',\n", + " '7609531',\n", + " '11003390',\n", + " '3289015',\n", + " '6410939',\n", + " '6413144',\n", + " '4119941',\n", + " '11639791',\n", + " '10247370',\n", + " '5558422',\n", + " 'D586949',\n", + " '2256636',\n", + " '8994057',\n", + " '8434872',\n", + " 'D932080',\n", + " 'D733352',\n", + " '8264159',\n", + " '2494652',\n", + " '3697025',\n", + " 'D438946',\n", + " '7015511',\n", + " '11187671',\n", + " 'D476628',\n", + " '9618681',\n", + " '6889869',\n", + " '8759855',\n", + " '8187010',\n", + " '3709741',\n", + " '10578949',\n", + " '6222312',\n", + " '4613213',\n", + " '7617780',\n", + " 'D669208',\n", + " 'D929640',\n", + " '5199786',\n", + " '11079077',\n", + " '3340391',\n", + " '9693646',\n", + " 'D893072',\n", + " '10443887',\n", + " 'D313861',\n", + " '10073211',\n", + " 'D744723',\n", + " '7175296',\n", + " '6561690',\n", + " '3462631',\n", + " '10153398',\n", + " '7192158',\n", + " 'D599492',\n", + " '7571570',\n", + " '5979187',\n", + " '10378745',\n", + " '11610325',\n", + " '8089554',\n", + " 'D868347',\n", + " 'D118615',\n", + " 'D104941',\n", + " 'D738483',\n", + " '4863394',\n", + " '6140648',\n", + " '2806970',\n", + " '7781783',\n", + " '7845820',\n", + " '5021703',\n", + " '8592232',\n", + " '10724729',\n", + " '4312458',\n", + " 'D360701',\n", + " '7189110',\n", + " '2301471',\n", + " '4014253',\n", + " '5036244',\n", + " '1477991',\n", + " '1896194',\n", + " '4907143',\n", + " '7375951',\n", + " '9263641',\n", + " 'D1017080',\n", + " 'D898265',\n", + " '10394111',\n", + " '10533712',\n", + " '1588574',\n", + " 'D637565',\n", + " '6949941',\n", + " '8701319',\n", + " 'D706972',\n", + " '4278420',\n", + " '7239449',\n", + " '4907142',\n", + " '5154641',\n", + " '8608359',\n", + " '9478111',\n", + " '10867551',\n", + " '9969324',\n", + " '8817210',\n", + " '1655559',\n", + " '6710247',\n", + " 'D917684',\n", + " 'D816259',\n", + " '7067989',\n", + " '7630134',\n", + " '7062360',\n", + " '1736849',\n", + " '11555483',\n", + " '5041949',\n", + " '9739525',\n", + " '7494247',\n", + " 'D357991',\n", + " '8778113',\n", + " '7728846',\n", + " '8928533',\n", + " 'D641175',\n", + " '8810136',\n", + " '8564739',\n", + " '6533434',\n", + " '7390112',\n", + " '4811507',\n", + " '1843883',\n", + " 'D306910',\n", + " '7615962',\n", + " 'D275748',\n", + " '3064121',\n", + " 'D437927',\n", + " '6726329',\n", + " '9265107',\n", + " '9521227',\n", + " '9655258',\n", + " '3833827',\n", + " '6733163',\n", + " '3056898',\n", + " 'D569649',\n", + " 'D79979',\n", + " '10012359',\n", + " '7229195',\n", + " 'D238296',\n", + " '7324179',\n", + " 'D343242',\n", + " '2686255',\n", + " '4158880',\n", + " '2578190',\n", + " '4559589',\n", + " '6819062',\n", + " '8124432',\n", + " '2760943',\n", + " '6776458',\n", + " '10821876',\n", + " '6672923',\n", + " '420675',\n", + " '8947349',\n", + " '8330346',\n", + " '2284837',\n", + " '6361175',\n", + " '8455275',\n", + " 'D921882',\n", + " '6379026',\n", + " '11963276',\n", + " '1448625',\n", + " '9546781',\n", + " 'D402075',\n", + " '8618738',\n", + " '9711957',\n", + " '2236842',\n", + " '5755507',\n", + " '11843087',\n", + " '6285131',\n", + " '3641967',\n", + " '8901817',\n", + " '9810826',\n", + " '1382800',\n", + " '2432867',\n", + " '6275339',\n", + " 'D819247',\n", + " '6445121',\n", + " '6015221',\n", + " '2042195',\n", + " '9397269',\n", + " 'D556942',\n", + " 'D562715',\n", + " '7357545',\n", + " '8378366',\n", + " '4894019',\n", + " '3952244',\n", + " '8646962',\n", + " 'D719700',\n", + " '10637225',\n", + " '9446710',\n", + " '2850731',\n", + " '9234994',\n", + " '3610911',\n", + " '7066732',\n", + " '4882617',\n", + " '3601862',\n", + " '7635188',\n", + " '3639747',\n", + " 'D409785',\n", + " '7880181',\n", + " '1455399',\n", + " '8297769',\n", + " '11505903',\n", + " '5801484',\n", + " '5572188',\n", + " '8647531',\n", + " '4469986',\n", + " '9510426',\n", + " '8622700',\n", + " '6421104',\n", + " '5757125',\n", + " 'D904667',\n", + " '11028994',\n", + " '9711018',\n", + " '7787237',\n", + " 'D766500',\n", + " '7255812',\n", + " 'D679444',\n", + " '2726319',\n", + " '778131',\n", + " 'D47218',\n", + " '8065106',\n", + " '3549936',\n", + " '2907870',\n", + " '6351082',\n", + " 'D312885',\n", + " '3317738',\n", + " 'D936276',\n", + " '2786936',\n", + " '5508892',\n", + " '9209366',\n", + " '6917153',\n", + " '8853900',\n", + " '7087933',\n", + " '4958913',\n", + " '7037169',\n", + " '10879408',\n", + " '8076679',\n", + " '4622626',\n", + " '6511205',\n", + " '7531846',\n", + " '8456638',\n", + " '7314652',\n", + " ...}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "save_cluster" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This loads the enrichment data. In this case it contains the title of each patent. The [patents view site](https://patentsview.org/download/data-download-tables) contains many other files that could be similarly loaded and merged." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8890049" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "title_df = pd.read_csv(\"../data/g_patent.tsv\",\n", + " sep='\\t',\n", + " header=0,\n", + " usecols=[0,3],\n", + " names=[\"patent_id\", \"patent_title\"],\n", + " dtype={\"patent_id\":\"str\",\"patent_title\":str},\n", + ")\n", + "# title_df[0] = pd.to_numeric(title_df[0],errors='coerce')\n", + "len(title_df)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This code merges the ids in the cluster containing the highest ranking node with the patent titles to create a dataframe enriched with those titles and shows the first 20 in that dataframe." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
patent_idpatent_title
010000015Methods for making optical components, optical...
110000075Multilayer imaging with a high-gloss clear ink...
210000150Lighting circuit and vehicle lamp
310000151Motor vehicle lighting device
410000160Vehicle article carrier with integrated camera...
510000289Temperature control gasper apparatus
610000426Marking coating
710000695Method of manufacturing fluoride phosphor, whi...
810000696Light-emitting ceramic, light-emitting element...
910000697Magnesium alumosilicate-based phosphor
1010000864Group 13 element nitride crystal layer and fun...
1110000888Applique to provide a design on a fabric
1210001138Powered ventilators
1310001248Light bar
1410001249Shell integrated light-emitting diode assembly...
1510001251Lantern
1610001252Expanding multi-faced work light flashlight
1710001253Lamp for vehicle
1810001255Custom printed lamp shade
1910001257Gradient optics for even light distribution of...
\n", + "
" + ], + "text/plain": [ + " patent_id patent_title\n", + "0 10000015 Methods for making optical components, optical...\n", + "1 10000075 Multilayer imaging with a high-gloss clear ink...\n", + "2 10000150 Lighting circuit and vehicle lamp\n", + "3 10000151 Motor vehicle lighting device\n", + "4 10000160 Vehicle article carrier with integrated camera...\n", + "5 10000289 Temperature control gasper apparatus\n", + "6 10000426 Marking coating\n", + "7 10000695 Method of manufacturing fluoride phosphor, whi...\n", + "8 10000696 Light-emitting ceramic, light-emitting element...\n", + "9 10000697 Magnesium alumosilicate-based phosphor\n", + "10 10000864 Group 13 element nitride crystal layer and fun...\n", + "11 10000888 Applique to provide a design on a fabric\n", + "12 10001138 Powered ventilators\n", + "13 10001248 Light bar\n", + "14 10001249 Shell integrated light-emitting diode assembly...\n", + "15 10001251 Lantern\n", + "16 10001252 Expanding multi-faced work light flashlight\n", + "17 10001253 Lamp for vehicle\n", + "18 10001255 Custom printed lamp shade\n", + "19 10001257 Gradient optics for even light distribution of..." + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cluster_df = pd.DataFrame(save_cluster, columns=['patent_id'])\n", + "enriched_df = title_df.merge(cluster_df, on='patent_id', how='inner')\n", + "enriched_df.iloc[0:20]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "k2DfAaZaDIBj" + }, + "source": [ + "---\n", + "U.S. Patent and Trademark Office. “Data Download Tables.” PatentsView. Accessed [10/06/2024]. \n", + "\n", + "https://patentsview.org/download/data-download-tables.\n", + "\n", + "Data used is licensed under Creative Commons 4.0 \n", + "\n", + " You may obtain a copy of the License at https://creativecommons.org/licenses/by/4.0/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "___\n", + "Copyright (c) 2024, NVIDIA CORPORATION.\n", + "\n", + "Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n", + "\n", + "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n", + "___" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}