From da710be3e87d667e7f58b3082cfa905341897b91 Mon Sep 17 00:00:00 2001 From: Adrien Carrel Date: Mon, 18 Sep 2023 09:57:06 +0100 Subject: [PATCH] Add script, notebook, minor folders structure debugging when calling some functions --- .github/workflows/apply_fixes.py | 2 +- CHANGELOG.rst | 7 + ccsd/__init__.py | 2 +- ccsd/diffusion.py | 2 +- ccsd/src/parsers/config.py | 5 +- ccsd/src/sampler.py | 4 +- ccsd/src/utils/mol_utils.py | 9 +- config/general_config.yaml | 2 +- config/sample_qm9_CC demonstration.yaml | 2 +- main.py | 2 +- scripts/CCSD_Example.ipynb | 1565 +++++++++++++++++++++++ scripts/demonstration.sh | 1 + 12 files changed, 1591 insertions(+), 12 deletions(-) create mode 100644 scripts/CCSD_Example.ipynb create mode 100644 scripts/demonstration.sh diff --git a/.github/workflows/apply_fixes.py b/.github/workflows/apply_fixes.py index b40a03f..f0ea6cd 100644 --- a/.github/workflows/apply_fixes.py +++ b/.github/workflows/apply_fixes.py @@ -12,7 +12,7 @@ packages = site.getsitepackages() site_packages = None for p in packages: - if "site-packages" in p: + if ("dist-packages" in p) or ("site-packages" in p): site_packages = p break diff --git a/CHANGELOG.rst b/CHANGELOG.rst index af0696a..693aed6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,13 @@ Changelog ================================== +0.3.1 (2023/09/18) +-------------------- + +- Debug folder structure when calling some functions + +- Add example script and notebook + 0.3.0 (2023/09/18) -------------------- diff --git a/ccsd/__init__.py b/ccsd/__init__.py index eedb769..4a91f5e 100644 --- a/ccsd/__init__.py +++ b/ccsd/__init__.py @@ -5,6 +5,6 @@ __author__ = "Adrien Carrel" __email__ = "a.carrel@hotmail.fr" -__version__ = "0.3.0" +__version__ = "0.3.1" __all__ = ["src", "data"] diff --git a/ccsd/diffusion.py b/ccsd/diffusion.py index 948ec15..19f963f 100644 --- a/ccsd/diffusion.py +++ b/ccsd/diffusion.py @@ -104,7 +104,7 @@ def run(self) -> None: ValueError: raise and error the experiment type is not one of [train, sample]. """ # Get the configuration and the general configuration - config = get_config(self.args.config, self.args.seed) + config = get_config(self.args.config, self.args.seed, self.args.folder) general_config = get_general_config() # Print the initial message diff --git a/ccsd/src/parsers/config.py b/ccsd/src/parsers/config.py index 15e7056..82f652a 100644 --- a/ccsd/src/parsers/config.py +++ b/ccsd/src/parsers/config.py @@ -12,17 +12,18 @@ from easydict import EasyDict -def get_config(config: str, seed: int) -> EasyDict: +def get_config(config: str, seed: int, folder: str = "./") -> EasyDict: """Load the config file. Args: config (str): name of the config file. seed (int): random seed (to be added to the config object). + folder (str, optional): folder where the config folder is located. Defaults to "./". Returns: EasyDict: configuration object. """ - config_dir = os.path.join("config", f"{config}.yaml") + config_dir = os.path.join(folder, "config", f"{config}.yaml") config = EasyDict(yaml.load(open(config_dir, "r"), Loader=yaml.FullLoader)) config.seed = seed diff --git a/ccsd/src/sampler.py b/ccsd/src/sampler.py index e65a9bb..68f1cbb 100644 --- a/ccsd/src/sampler.py +++ b/ccsd/src/sampler.py @@ -1156,7 +1156,9 @@ def sample(self) -> None: logger.log(f"GEN SEED: {self.config.sample.seed}") load_seed(self.config.sample.seed) - train_smiles, test_smiles = load_smiles(self.configt.data.data) + train_smiles, test_smiles = load_smiles( + self.configt.data.data, self.config.folder + ) train_smiles, test_smiles = canonicalize_smiles( train_smiles ), canonicalize_smiles(test_smiles) diff --git a/ccsd/src/utils/mol_utils.py b/ccsd/src/utils/mol_utils.py index a983c27..0d673f8 100644 --- a/ccsd/src/utils/mol_utils.py +++ b/ccsd/src/utils/mol_utils.py @@ -105,11 +105,14 @@ def canonicalize_smiles(smiles: List[str]) -> List[str]: return [Chem.MolToSmiles(Chem.MolFromSmiles(smi)) for smi in smiles] -def load_smiles(dataset: str = "QM9") -> Tuple[List[str], List[str]]: +def load_smiles( + dataset: str = "QM9", folder: str = "./" +) -> Tuple[List[str], List[str]]: """Loads SMILES strings from a dataset and return train and test splits. Args: dataset (str, optional): smiles dataset to load. Defaults to "QM9". + folder (str, optional): folder where the data folder is located. Defaults to "./". Raises: ValueError: raise an error if dataset is not supported @@ -124,9 +127,9 @@ def load_smiles(dataset: str = "QM9") -> Tuple[List[str], List[str]]: else: raise ValueError(f"Wrong dataset name {dataset} in load_smiles") - df = pd.read_csv(os.path.join("data", f"{dataset.lower()}.csv")) + df = pd.read_csv(os.path.join(folder, "data", f"{dataset.lower()}.csv")) - with open(os.path.join("data", f"valid_idx_{dataset.lower()}.json")) as f: + with open(os.path.join(folder, "data", f"valid_idx_{dataset.lower()}.json")) as f: test_idx = json.load(f) if dataset == "QM9": # special case for QM9 diff --git a/config/general_config.yaml b/config/general_config.yaml index 181a098..0b4f0d6 100644 --- a/config/general_config.yaml +++ b/config/general_config.yaml @@ -5,5 +5,5 @@ project_name: "CCSD" # name of the project in wandb entity: "a-carrel" # name of the entity in wandb timezone: "Europe/London" # timezone to name the output files print_initial: True # print an initial message with logo and current experiment -plotly_fig: False # if True, create plotly figures (rotating 3D plots, diffusion animation, etc) +plotly_fig: True # if True, create plotly figures (rotating 3D plots, diffusion animation, etc) engine: "kaleido" # engine for the plotly plots. Windows users should use "kaleido" instead of "orca" diff --git a/config/sample_qm9_CC demonstration.yaml b/config/sample_qm9_CC demonstration.yaml index f168554..ed9fc6c 100644 --- a/config/sample_qm9_CC demonstration.yaml +++ b/config/sample_qm9_CC demonstration.yaml @@ -26,7 +26,7 @@ sampler: n_steps: 1 sample: - # divide_batch: 4 # optional, only if RAM issue occurs + divide_batch: 4 # optional, only if RAM issue occurs n_samples: 16 # param only for mol datasets cc_nb_eval: 1000 # param only for cc datasets use_ema: False diff --git a/main.py b/main.py index 2800065..01930c9 100644 --- a/main.py +++ b/main.py @@ -41,7 +41,7 @@ def main(args: argparse.Namespace) -> None: """ # Get the configuration and the general configuration - config = get_config(args.config, args.seed) + config = get_config(args.config, args.seed, args.folder) general_config = get_general_config() # Print the initial message diff --git a/scripts/CCSD_Example.ipynb b/scripts/CCSD_Example.ipynb new file mode 100644 index 0000000..f974cce --- /dev/null +++ b/scripts/CCSD_Example.ipynb @@ -0,0 +1,1565 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "OJtuymzngR1C" + }, + "source": [ + "# CCSD - Demonstration" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8aICK2bhgVPE" + }, + "source": [ + "2023/09/18" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ytfv062ydwqz" + }, + "source": [ + "## Install dependencies" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BLHKr6U-hjOw" + }, + "source": [ + "git-lfs (for MOSES)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZK3xZI0Vg3W1", + "outputId": "1ab98ae0-b561-4366-8618-ecc99ea5407a" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Detected operating system as Ubuntu/jammy.\n", + "Checking for curl...\n", + "Detected curl...\n", + "Checking for gpg...\n", + "Detected gpg...\n", + "Detected apt version as 2.4.10\n", + "Running apt-get update... done.\n", + "Installing apt-transport-https... done.\n", + "Installing /etc/apt/sources.list.d/github_git-lfs.list...done.\n", + "Importing packagecloud gpg key... Packagecloud gpg key imported to /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg\n", + "done.\n", + "Running apt-get update... done.\n", + "\n", + "The repository is setup! You can now install packages.\n", + "Reading package lists... Done\n", + "Building dependency tree... Done\n", + "Reading state information... Done\n", + "The following packages will be upgraded:\n", + " git-lfs\n", + "1 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.\n", + "Need to get 7,244 kB of archives.\n", + "After this operation, 5,783 kB of additional disk space will be used.\n", + "Get:1 https://packagecloud.io/github/git-lfs/ubuntu jammy/main amd64 git-lfs amd64 3.4.0 [7,244 kB]\n", + "Fetched 7,244 kB in 0s (15.8 MB/s)\n", + "debconf: unable to initialize frontend: Dialog\n", + "debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78, <> line 1.)\n", + "debconf: falling back to frontend: Readline\n", + "debconf: unable to initialize frontend: Readline\n", + "debconf: (This frontend requires a controlling tty.)\n", + "debconf: falling back to frontend: Teletype\n", + "dpkg-preconfigure: unable to re-open stdin: \n", + "(Reading database ... 120905 files and directories currently installed.)\n", + "Preparing to unpack .../git-lfs_3.4.0_amd64.deb ...\n", + "Unpacking git-lfs (3.4.0) over (3.0.2-1ubuntu0.2) ...\n", + "Setting up git-lfs (3.4.0) ...\n", + "Git LFS initialized.\n", + "Processing triggers for man-db (2.10.2-1) ...\n", + "Git LFS initialized.\n" + ] + } + ], + "source": [ + "!curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash\n", + "!sudo NEEDRESTART_MODE=a apt-get install git-lfs\n", + "!git-lfs install" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-yXR9vJzj1na" + }, + "source": [ + "Package to print configuration files" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "aVx8Jqqvj4ma", + "outputId": "7734d7bd-c9d3-4e34-ebc6-096cbf50132b" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting pyaml\n", + " Downloading pyaml-23.9.6-py3-none-any.whl (22 kB)\n", + "Requirement already satisfied: PyYAML in /usr/local/lib/python3.10/dist-packages (from pyaml) (6.0.1)\n", + "Installing collected packages: pyaml\n", + "Successfully installed pyaml-23.9.6\n" + ] + } + ], + "source": [ + "!pip install pyaml" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Hk_Wu3Z0hpnE" + }, + "source": [ + "Specific requirements" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "L3EwtbSTgdDZ", + "outputId": "c26126cb-d111-419e-c811-c9bc73be941f" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu118\n", + "Requirement already satisfied: torch==2.0.1 in /usr/local/lib/python3.10/dist-packages (2.0.1+cu118)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch==2.0.1) (3.12.2)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch==2.0.1) (4.5.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch==2.0.1) (1.12)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch==2.0.1) (3.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch==2.0.1) (3.1.2)\n", + "Requirement already satisfied: triton==2.0.0 in /usr/local/lib/python3.10/dist-packages (from torch==2.0.1) (2.0.0)\n", + "Requirement already satisfied: cmake in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch==2.0.1) (3.27.4.1)\n", + "Requirement already satisfied: lit in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch==2.0.1) (16.0.6)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch==2.0.1) (2.1.3)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch==2.0.1) (1.3.0)\n", + "Looking in links: https://data.pyg.org/whl/torch-2.0.1+cu118.html\n", + "Collecting torch-scatter\n", + " Downloading https://data.pyg.org/whl/torch-2.0.0%2Bcu118/torch_scatter-2.1.1%2Bpt20cu118-cp310-cp310-linux_x86_64.whl (10.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m38.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting torch-sparse\n", + " Downloading https://data.pyg.org/whl/torch-2.0.0%2Bcu118/torch_sparse-0.6.17%2Bpt20cu118-cp310-cp310-linux_x86_64.whl (4.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.8/4.8 MB\u001b[0m \u001b[31m36.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from torch-sparse) (1.11.2)\n", + "Requirement already satisfied: numpy<1.28.0,>=1.21.6 in /usr/local/lib/python3.10/dist-packages (from scipy->torch-sparse) (1.23.5)\n", + "Installing collected packages: torch-scatter, torch-sparse\n", + "Successfully installed torch-scatter-2.1.1+pt20cu118 torch-sparse-0.6.17+pt20cu118\n", + "Collecting rdkit\n", + " Downloading rdkit-2023.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m29.7/29.7 MB\u001b[0m \u001b[31m34.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from rdkit) (1.23.5)\n", + "Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from rdkit) (9.4.0)\n", + "Installing collected packages: rdkit\n", + "Successfully installed rdkit-2023.3.3\n", + "Requirement already satisfied: Cython in /usr/local/lib/python3.10/dist-packages (3.0.2)\n", + "Collecting pomegranate\n", + " Downloading pomegranate-1.0.3-py3-none-any.whl (90 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m90.8/90.8 kB\u001b[0m \u001b[31m2.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.22.2 in /usr/local/lib/python3.10/dist-packages (from pomegranate) (1.23.5)\n", + "Requirement already satisfied: scipy>=1.6.2 in /usr/local/lib/python3.10/dist-packages (from pomegranate) (1.11.2)\n", + "Requirement already satisfied: scikit-learn>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from pomegranate) (1.2.2)\n", + "Requirement already satisfied: torch>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from pomegranate) (2.0.1+cu118)\n", + "Collecting apricot-select>=0.6.1 (from pomegranate)\n", + " Downloading apricot-select-0.6.1.tar.gz (28 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: networkx>=2.8.4 in /usr/local/lib/python3.10/dist-packages (from pomegranate) (3.1)\n", + "Requirement already satisfied: numba>=0.43.0 in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate) (0.56.4)\n", + "Requirement already satisfied: tqdm>=4.24.0 in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate) (4.66.1)\n", + "Collecting nose (from apricot-select>=0.6.1->pomegranate)\n", + " Downloading nose-1.3.7-py3-none-any.whl (154 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m154.7/154.7 kB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.2->pomegranate) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.2->pomegranate) (3.2.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.9.0->pomegranate) (3.12.2)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.9.0->pomegranate) (4.5.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.9.0->pomegranate) (1.12)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.9.0->pomegranate) (3.1.2)\n", + "Requirement already satisfied: triton==2.0.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.9.0->pomegranate) (2.0.0)\n", + "Requirement already satisfied: cmake in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=1.9.0->pomegranate) (3.27.4.1)\n", + "Requirement already satisfied: lit in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=1.9.0->pomegranate) (16.0.6)\n", + "Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba>=0.43.0->apricot-select>=0.6.1->pomegranate) (0.39.1)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from numba>=0.43.0->apricot-select>=0.6.1->pomegranate) (67.7.2)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.9.0->pomegranate) (2.1.3)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.9.0->pomegranate) (1.3.0)\n", + "Building wheels for collected packages: apricot-select\n", + " Building wheel for apricot-select (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for apricot-select: filename=apricot_select-0.6.1-py3-none-any.whl size=48766 sha256=11c811af64faf6628e125a55a5d4328418160a9c68fbfd296aec2bb9047c36ed\n", + " Stored in directory: /root/.cache/pip/wheels/df/d8/f9/4d62b7272bff772a126a52e507212c2fd33c0b8416d9389665\n", + "Successfully built apricot-select\n", + "Installing collected packages: nose, apricot-select, pomegranate\n", + "Successfully installed apricot-select-0.6.1 nose-1.3.7 pomegranate-1.0.3\n", + "Git LFS initialized.\n", + "Collecting git+https://github.com/molecularsets/moses.git\n", + " Cloning https://github.com/molecularsets/moses.git to /tmp/pip-req-build-e6e2ath4\n", + " Running command git clone --filter=blob:none --quiet https://github.com/molecularsets/moses.git /tmp/pip-req-build-e6e2ath4\n", + " Resolved https://github.com/molecularsets/moses.git to commit dd7ed6ab38e23afd3ef5371d67939a1760bd8599\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: tqdm>=4.26.0 in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (4.66.1)\n", + "Requirement already satisfied: matplotlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (3.7.1)\n", + "Requirement already satisfied: numpy>=1.15 in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (1.23.5)\n", + "Requirement already satisfied: pandas>=0.25 in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (1.5.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (1.11.2)\n", + "Requirement already satisfied: torch>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (2.0.1+cu118)\n", + "Collecting fcd_torch>=1.0.5 (from molsets==1.0)\n", + " Downloading fcd_torch-1.0.7-py3-none-any.whl (5.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.2/5.2 MB\u001b[0m \u001b[31m14.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: seaborn>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (0.12.2)\n", + "Requirement already satisfied: pomegranate in /usr/local/lib/python3.10/dist-packages (from molsets==1.0) (1.0.3)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (1.1.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (0.11.0)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (4.42.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (1.4.5)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (23.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (9.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (3.1.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->molsets==1.0) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.25->molsets==1.0) (2023.3.post1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.1.0->molsets==1.0) (3.12.2)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.1.0->molsets==1.0) (4.5.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.1.0->molsets==1.0) (1.12)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.1.0->molsets==1.0) (3.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.1.0->molsets==1.0) (3.1.2)\n", + "Requirement already satisfied: triton==2.0.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.1.0->molsets==1.0) (2.0.0)\n", + "Requirement already satisfied: cmake in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=1.1.0->molsets==1.0) (3.27.4.1)\n", + "Requirement already satisfied: lit in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=1.1.0->molsets==1.0) (16.0.6)\n", + "Requirement already satisfied: scikit-learn>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from pomegranate->molsets==1.0) (1.2.2)\n", + "Requirement already satisfied: apricot-select>=0.6.1 in /usr/local/lib/python3.10/dist-packages (from pomegranate->molsets==1.0) (0.6.1)\n", + "Requirement already satisfied: numba>=0.43.0 in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate->molsets==1.0) (0.56.4)\n", + "Requirement already satisfied: nose in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate->molsets==1.0) (1.3.7)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.0.0->molsets==1.0) (1.16.0)\n", + "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.2->pomegranate->molsets==1.0) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.2->pomegranate->molsets==1.0) (3.2.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.1.0->molsets==1.0) (2.1.3)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.1.0->molsets==1.0) (1.3.0)\n", + "Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba>=0.43.0->apricot-select>=0.6.1->pomegranate->molsets==1.0) (0.39.1)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from numba>=0.43.0->apricot-select>=0.6.1->pomegranate->molsets==1.0) (67.7.2)\n", + "Building wheels for collected packages: molsets\n", + " Building wheel for molsets (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for molsets: filename=molsets-1.0-py3-none-any.whl size=51585191 sha256=a4e19ad5a3badcbb6ce28bad738991f42b65a06409ed85fdba2ace0dd357ed6a\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-35qdaljw/wheels/26/79/de/138598ddc61c5f71863aa4bf15482153c0bbd084fd5f6ca762\n", + "Successfully built molsets\n", + "Installing collected packages: fcd_torch, molsets\n", + "Successfully installed fcd_torch-1.0.7 molsets-1.0\n", + "Collecting git+https://github.com/pyt-team/TopoNetX.git@a389bd8bb11c731bb98d79da8392e3396ea9db8c\n", + " Cloning https://github.com/pyt-team/TopoNetX.git (to revision a389bd8bb11c731bb98d79da8392e3396ea9db8c) to /tmp/pip-req-build-1w9qfziy\n", + " Running command git clone --filter=blob:none --quiet https://github.com/pyt-team/TopoNetX.git /tmp/pip-req-build-1w9qfziy\n", + " Running command git rev-parse -q --verify 'sha^a389bd8bb11c731bb98d79da8392e3396ea9db8c'\n", + " Running command git fetch -q https://github.com/pyt-team/TopoNetX.git a389bd8bb11c731bb98d79da8392e3396ea9db8c\n", + " Running command git checkout -q a389bd8bb11c731bb98d79da8392e3396ea9db8c\n", + " Resolved https://github.com/pyt-team/TopoNetX.git to commit a389bd8bb11c731bb98d79da8392e3396ea9db8c\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting gudhi (from TopoNetX==0.0.2)\n", + " Downloading gudhi-3.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m11.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from TopoNetX==0.0.2) (4.4.2)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from TopoNetX==0.0.2) (3.1)\n", + "Collecting hypernetx<2.0.0 (from TopoNetX==0.0.2)\n", + " Downloading hypernetx-1.2.5-py3-none-any.whl (89 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m89.2/89.2 kB\u001b[0m \u001b[31m10.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from TopoNetX==0.0.2) (1.23.5)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from TopoNetX==0.0.2) (2.31.0)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from TopoNetX==0.0.2) (1.11.2)\n", + "Collecting trimesh (from TopoNetX==0.0.2)\n", + " Downloading trimesh-3.23.5-py3-none-any.whl (685 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m685.4/685.4 kB\u001b[0m \u001b[31m16.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting spharapy (from TopoNetX==0.0.2)\n", + " Downloading SpharaPy-1.1.2-py3-none-any.whl (9.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.5/9.5 MB\u001b[0m \u001b[31m26.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting networkx (from TopoNetX==0.0.2)\n", + " Downloading networkx-2.8.8-py3-none-any.whl (2.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m39.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: matplotlib>3.0 in /usr/local/lib/python3.10/dist-packages (from hypernetx<2.0.0->TopoNetX==0.0.2) (3.7.1)\n", + "Requirement already satisfied: scikit-learn>=0.20.0 in /usr/local/lib/python3.10/dist-packages (from hypernetx<2.0.0->TopoNetX==0.0.2) (1.2.2)\n", + "Requirement already satisfied: pandas>=0.23 in /usr/local/lib/python3.10/dist-packages (from hypernetx<2.0.0->TopoNetX==0.0.2) (1.5.3)\n", + "Collecting python-igraph>=0.9.6 (from hypernetx<2.0.0->TopoNetX==0.0.2)\n", + " Downloading python_igraph-0.10.8-py3-none-any.whl (9.1 kB)\n", + "Collecting celluloid>=0.2.0 (from hypernetx<2.0.0->TopoNetX==0.0.2)\n", + " Downloading celluloid-0.2.0-py3-none-any.whl (5.4 kB)\n", + "Collecting decorator (from TopoNetX==0.0.2)\n", + " Downloading decorator-5.1.1-py3-none-any.whl (9.1 kB)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->TopoNetX==0.0.2) (3.2.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->TopoNetX==0.0.2) (3.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->TopoNetX==0.0.2) (2.0.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->TopoNetX==0.0.2) (2023.7.22)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (1.1.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (0.11.0)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (4.42.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (1.4.5)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (23.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (9.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (3.1.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.23->hypernetx<2.0.0->TopoNetX==0.0.2) (2023.3.post1)\n", + "Collecting igraph==0.10.8 (from python-igraph>=0.9.6->hypernetx<2.0.0->TopoNetX==0.0.2)\n", + " Downloading igraph-0.10.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.3/3.3 MB\u001b[0m \u001b[31m54.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting texttable>=1.6.2 (from igraph==0.10.8->python-igraph>=0.9.6->hypernetx<2.0.0->TopoNetX==0.0.2)\n", + " Downloading texttable-1.6.7-py2.py3-none-any.whl (10 kB)\n", + "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=0.20.0->hypernetx<2.0.0->TopoNetX==0.0.2) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=0.20.0->hypernetx<2.0.0->TopoNetX==0.0.2) (3.2.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>3.0->hypernetx<2.0.0->TopoNetX==0.0.2) (1.16.0)\n", + "Building wheels for collected packages: TopoNetX\n", + " Building wheel for TopoNetX (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for TopoNetX: filename=TopoNetX-0.0.2-py3-none-any.whl size=69026 sha256=dbf13d078dbe203db6624961ba3d7ac0df14c40cbf68d84735fa1253a5146cec\n", + " Stored in directory: /root/.cache/pip/wheels/a2/0b/8c/2fe8808ca348d6da15ddd6d9f679fe1c0e0cc43010bdd636b5\n", + "Successfully built TopoNetX\n", + "Installing collected packages: texttable, spharapy, trimesh, networkx, igraph, gudhi, decorator, python-igraph, celluloid, hypernetx, TopoNetX\n", + " Attempting uninstall: networkx\n", + " Found existing installation: networkx 3.1\n", + " Uninstalling networkx-3.1:\n", + " Successfully uninstalled networkx-3.1\n", + " Attempting uninstall: decorator\n", + " Found existing installation: decorator 4.4.2\n", + " Uninstalling decorator-4.4.2:\n", + " Successfully uninstalled decorator-4.4.2\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "ipython 7.34.0 requires jedi>=0.16, which is not installed.\n", + "moviepy 1.0.3 requires decorator<5.0,>=4.0.2, but you have decorator 5.1.1 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed TopoNetX-0.0.2 celluloid-0.2.0 decorator-5.1.1 gudhi-3.8.0 hypernetx-1.2.5 igraph-0.10.8 networkx-2.8.8 python-igraph-0.10.8 spharapy-1.1.2 texttable-1.6.7 trimesh-3.23.5\n" + ] + }, + { + "data": { + "application/vnd.colab-display-data+json": { + "pip_warning": { + "packages": [ + "decorator" + ] + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "!pip install torch==2.0.1 --extra-index-url https://download.pytorch.org/whl/cu118\n", + "!pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.0.1+cu118.html\n", + "!pip install rdkit\n", + "!pip install Cython\n", + "!pip install pomegranate\n", + "!git lfs install\n", + "!pip install git+https://github.com/molecularsets/moses.git\n", + "!pip install git+https://github.com/pyt-team/TopoNetX.git@a389bd8bb11c731bb98d79da8392e3396ea9db8c" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3Nruextwi47C" + }, + "source": [ + "Unzip file" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "18m59Piei6j3" + }, + "outputs": [], + "source": [ + "import zipfile\n", + "\n", + "\n", + "with zipfile.ZipFile(\"./demonstration.zip\", \"r\") as zip_ref:\n", + " zip_ref.extractall(\"./\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HcW0E_FZhsdJ" + }, + "source": [ + "Apply fixes" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 139 + }, + "id": "l0MKYL6Jhvzy", + "outputId": "34211ecd-dfa4-43e6-c7b2-aebe8a853918" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "##########\n", + "Fixing MOSES ... (utils.py)\n", + "\n", + "##########\n", + "Fixing TopoNetX ... (combinatorial_complex.py)\n" + ] + }, + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + }, + "text/plain": [ + "'/usr/local/lib/python3.10/dist-packages/toponetx/classes/combinatorial_complex.py'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import os\n", + "import shutil\n", + "import site\n", + "\n", + "\n", + "packages = site.getsitepackages()\n", + "site_packages = None\n", + "for p in packages:\n", + " if (\"dist-packages\" in p) or (\"site-packages\" in p):\n", + " site_packages = p\n", + " break\n", + "\n", + "# Path of the fixes (to be copied)\n", + "molsets_filepath = os.path.join(\"./\", \"fixes\", \"utils.py\")\n", + "toponetx_filepath = os.path.join(\"./\", \"fixes\", \"combinatorial_complex.py\")\n", + "# Path of the destination (where to copy the fixes)\n", + "molsets_path = os.path.join(site_packages, \"moses\", \"metrics\", \"utils.py\")\n", + "toponetx_path = os.path.join(\n", + " site_packages, \"toponetx\", \"classes\", \"combinatorial_complex.py\"\n", + ")\n", + "\n", + "# Make the copies\n", + "print(\"\\n##########\\nFixing MOSES ... (utils.py)\")\n", + "shutil.copyfile(molsets_filepath, molsets_path)\n", + "print(\"\\n##########\\nFixing TopoNetX ... (combinatorial_complex.py)\")\n", + "shutil.copyfile(toponetx_filepath, toponetx_path)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ai1gPdn9jIMT" + }, + "source": [ + "Install the remaining requirements" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "cZ6tm67hjLUi", + "outputId": "aecaa801-df8f-4f9b-b3f5-38b98ed2de92" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting dill>=0.3.6 (from -r requirements.txt (line 1))\n", + " Downloading dill-0.3.7-py3-none-any.whl (115 kB)\n", + "\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/115.3 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m \u001b[32m112.6/115.3 kB\u001b[0m \u001b[31m3.5 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m2.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: easydict>=1.10 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 2)) (1.10)\n", + "Collecting freezegun>=1.2.2 (from -r requirements.txt (line 3))\n", + " Downloading freezegun-1.2.2-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: hypernetx>=1.2.5 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 4)) (1.2.5)\n", + "Requirement already satisfied: imageio>=2.31.1 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 5)) (2.31.3)\n", + "Requirement already satisfied: joblib>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 6)) (1.3.2)\n", + "Collecting kaleido>=0.1.0.post1 (from -r requirements.txt (line 7))\n", + " Downloading kaleido-0.2.1-py2.py3-none-manylinux1_x86_64.whl (79.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.9/79.9 MB\u001b[0m \u001b[31m9.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting matplotlib>=3.7.2 (from -r requirements.txt (line 8))\n", + " Downloading matplotlib-3.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m87.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: molsets>=0.3.1 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 9)) (1.0)\n", + "Requirement already satisfied: networkx>=2.8.8 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 10)) (2.8.8)\n", + "Collecting numpy>=1.24.4 (from -r requirements.txt (line 11))\n", + " Downloading numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.2/18.2 MB\u001b[0m \u001b[31m67.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pandas>=2.0.3 (from -r requirements.txt (line 12))\n", + " Downloading pandas-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.7/12.7 MB\u001b[0m \u001b[31m93.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: plotly>=5.15.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 13)) (5.15.0)\n", + "Collecting pyemd>=1.0.0 (from -r requirements.txt (line 14))\n", + " Downloading pyemd-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (662 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m662.6/662.6 kB\u001b[0m \u001b[31m56.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pytest>=7.4.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 15)) (7.4.1)\n", + "Requirement already satisfied: pytz>=2023.3 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 16)) (2023.3.post1)\n", + "Requirement already satisfied: pyyaml>=6.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 17)) (6.0.1)\n", + "Requirement already satisfied: rdkit>=2023.3.2 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 18)) (2023.3.3)\n", + "Collecting scikit_learn>=1.3.0 (from -r requirements.txt (line 19))\n", + " Downloading scikit_learn-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.8/10.8 MB\u001b[0m \u001b[31m83.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: scipy>=1.11.1 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 20)) (1.11.2)\n", + "Requirement already satisfied: toponetx in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 21)) (0.0.2)\n", + "Requirement already satisfied: torch>=2.0.1 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 22)) (2.0.1+cu118)\n", + "Requirement already satisfied: tqdm>=4.65.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 23)) (4.66.1)\n", + "Collecting wandb (from -r requirements.txt (line 24))\n", + " Downloading wandb-0.15.10-py3-none-any.whl (2.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m96.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pytest-cov (from -r requirements.txt (line 26))\n", + " Downloading pytest_cov-4.1.0-py3-none-any.whl (21 kB)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from freezegun>=1.2.2->-r requirements.txt (line 3)) (2.8.2)\n", + "Requirement already satisfied: python-igraph>=0.9.6 in /usr/local/lib/python3.10/dist-packages (from hypernetx>=1.2.5->-r requirements.txt (line 4)) (0.10.8)\n", + "Requirement already satisfied: celluloid>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from hypernetx>=1.2.5->-r requirements.txt (line 4)) (0.2.0)\n", + "Requirement already satisfied: decorator>=5.1.1 in /usr/local/lib/python3.10/dist-packages (from hypernetx>=1.2.5->-r requirements.txt (line 4)) (5.1.1)\n", + "Requirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from imageio>=2.31.1->-r requirements.txt (line 5)) (9.4.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->-r requirements.txt (line 8)) (1.1.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->-r requirements.txt (line 8)) (0.11.0)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->-r requirements.txt (line 8)) (4.42.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->-r requirements.txt (line 8)) (1.4.5)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->-r requirements.txt (line 8)) (23.1)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->-r requirements.txt (line 8)) (3.1.1)\n", + "Requirement already satisfied: fcd-torch>=1.0.5 in /usr/local/lib/python3.10/dist-packages (from molsets>=0.3.1->-r requirements.txt (line 9)) (1.0.7)\n", + "Requirement already satisfied: seaborn>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from molsets>=0.3.1->-r requirements.txt (line 9)) (0.12.2)\n", + "Requirement already satisfied: pomegranate in /usr/local/lib/python3.10/dist-packages (from molsets>=0.3.1->-r requirements.txt (line 9)) (1.0.3)\n", + "Collecting tzdata>=2022.1 (from pandas>=2.0.3->-r requirements.txt (line 12))\n", + " Downloading tzdata-2023.3-py2.py3-none-any.whl (341 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m341.8/341.8 kB\u001b[0m \u001b[31m32.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=5.15.0->-r requirements.txt (line 13)) (8.2.3)\n", + "Requirement already satisfied: iniconfig in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->-r requirements.txt (line 15)) (2.0.0)\n", + "Requirement already satisfied: pluggy<2.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->-r requirements.txt (line 15)) (1.3.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->-r requirements.txt (line 15)) (1.1.3)\n", + "Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->-r requirements.txt (line 15)) (2.0.1)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit_learn>=1.3.0->-r requirements.txt (line 19)) (3.2.0)\n", + "Requirement already satisfied: gudhi in /usr/local/lib/python3.10/dist-packages (from toponetx->-r requirements.txt (line 21)) (3.8.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from toponetx->-r requirements.txt (line 21)) (2.31.0)\n", + "Requirement already satisfied: trimesh in /usr/local/lib/python3.10/dist-packages (from toponetx->-r requirements.txt (line 21)) (3.23.5)\n", + "Requirement already satisfied: spharapy in /usr/local/lib/python3.10/dist-packages (from toponetx->-r requirements.txt (line 21)) (1.1.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->-r requirements.txt (line 22)) (3.12.2)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->-r requirements.txt (line 22)) (4.5.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->-r requirements.txt (line 22)) (1.12)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->-r requirements.txt (line 22)) (3.1.2)\n", + "Requirement already satisfied: triton==2.0.0 in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->-r requirements.txt (line 22)) (2.0.0)\n", + "Requirement already satisfied: cmake in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=2.0.1->-r requirements.txt (line 22)) (3.27.4.1)\n", + "Requirement already satisfied: lit in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=2.0.1->-r requirements.txt (line 22)) (16.0.6)\n", + "Requirement already satisfied: Click!=8.0.0,>=7.1 in /usr/local/lib/python3.10/dist-packages (from wandb->-r requirements.txt (line 24)) (8.1.7)\n", + "Collecting GitPython!=3.1.29,>=1.0.0 (from wandb->-r requirements.txt (line 24))\n", + " Downloading GitPython-3.1.36-py3-none-any.whl (189 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m189.5/189.5 kB\u001b[0m \u001b[31m20.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: psutil>=5.0.0 in /usr/local/lib/python3.10/dist-packages (from wandb->-r requirements.txt (line 24)) (5.9.5)\n", + "Collecting sentry-sdk>=1.0.0 (from wandb->-r requirements.txt (line 24))\n", + " Downloading sentry_sdk-1.31.0-py2.py3-none-any.whl (224 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m224.8/224.8 kB\u001b[0m \u001b[31m23.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting docker-pycreds>=0.4.0 (from wandb->-r requirements.txt (line 24))\n", + " Downloading docker_pycreds-0.4.0-py2.py3-none-any.whl (9.0 kB)\n", + "Collecting pathtools (from wandb->-r requirements.txt (line 24))\n", + " Downloading pathtools-0.1.2.tar.gz (11 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting setproctitle (from wandb->-r requirements.txt (line 24))\n", + " Downloading setproctitle-1.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30 kB)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from wandb->-r requirements.txt (line 24)) (67.7.2)\n", + "Requirement already satisfied: appdirs>=1.4.3 in /usr/local/lib/python3.10/dist-packages (from wandb->-r requirements.txt (line 24)) (1.4.4)\n", + "Requirement already satisfied: protobuf!=4.21.0,<5,>=3.19.0 in /usr/local/lib/python3.10/dist-packages (from wandb->-r requirements.txt (line 24)) (3.20.3)\n", + "Collecting coverage[toml]>=5.2.1 (from pytest-cov->-r requirements.txt (line 26))\n", + " Downloading coverage-7.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (229 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m229.1/229.1 kB\u001b[0m \u001b[31m15.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from docker-pycreds>=0.4.0->wandb->-r requirements.txt (line 24)) (1.16.0)\n", + "Collecting gitdb<5,>=4.0.1 (from GitPython!=3.1.29,>=1.0.0->wandb->-r requirements.txt (line 24))\n", + " Downloading gitdb-4.0.10-py3-none-any.whl (62 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.7/62.7 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: igraph==0.10.8 in /usr/local/lib/python3.10/dist-packages (from python-igraph>=0.9.6->hypernetx>=1.2.5->-r requirements.txt (line 4)) (0.10.8)\n", + "Requirement already satisfied: texttable>=1.6.2 in /usr/local/lib/python3.10/dist-packages (from igraph==0.10.8->python-igraph>=0.9.6->hypernetx>=1.2.5->-r requirements.txt (line 4)) (1.6.7)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->-r requirements.txt (line 21)) (3.2.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->-r requirements.txt (line 21)) (3.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->-r requirements.txt (line 21)) (2.0.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->-r requirements.txt (line 21)) (2023.7.22)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=2.0.1->-r requirements.txt (line 22)) (2.1.3)\n", + "Requirement already satisfied: apricot-select>=0.6.1 in /usr/local/lib/python3.10/dist-packages (from pomegranate->molsets>=0.3.1->-r requirements.txt (line 9)) (0.6.1)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=2.0.1->-r requirements.txt (line 22)) (1.3.0)\n", + "Requirement already satisfied: numba>=0.43.0 in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->-r requirements.txt (line 9)) (0.56.4)\n", + "Requirement already satisfied: nose in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->-r requirements.txt (line 9)) (1.3.7)\n", + "Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->GitPython!=3.1.29,>=1.0.0->wandb->-r requirements.txt (line 24))\n", + " Downloading smmap-5.0.1-py3-none-any.whl (24 kB)\n", + "Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba>=0.43.0->apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->-r requirements.txt (line 9)) (0.39.1)\n", + "INFO: pip is looking at multiple versions of numba to determine which version is compatible with other requirements. This could take a while.\n", + "Collecting numba>=0.43.0 (from apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->-r requirements.txt (line 9))\n", + " Downloading numba-0.57.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.6/3.6 MB\u001b[0m \u001b[31m108.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting llvmlite<0.41,>=0.40.0dev0 (from numba>=0.43.0->apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->-r requirements.txt (line 9))\n", + " Downloading llvmlite-0.40.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (42.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.1/42.1 MB\u001b[0m \u001b[31m20.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting numpy>=1.24.4 (from -r requirements.txt (line 11))\n", + " Downloading numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.3/17.3 MB\u001b[0m \u001b[31m77.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hBuilding wheels for collected packages: pathtools\n", + " Building wheel for pathtools (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for pathtools: filename=pathtools-0.1.2-py3-none-any.whl size=8791 sha256=c42d8a4ca7186e6fa09b8904d5083b2ac934a73704483ec1987a8d262cbfa0a9\n", + " Stored in directory: /root/.cache/pip/wheels/e7/f3/22/152153d6eb222ee7a56ff8617d80ee5207207a8c00a7aab794\n", + "Successfully built pathtools\n", + "Installing collected packages: pathtools, kaleido, tzdata, smmap, setproctitle, sentry-sdk, numpy, llvmlite, docker-pycreds, dill, coverage, pyemd, pandas, numba, gitdb, freezegun, scikit_learn, pytest-cov, matplotlib, GitPython, wandb\n", + " Attempting uninstall: numpy\n", + " Found existing installation: numpy 1.23.5\n", + " Uninstalling numpy-1.23.5:\n", + " Successfully uninstalled numpy-1.23.5\n", + " Attempting uninstall: llvmlite\n", + " Found existing installation: llvmlite 0.39.1\n", + " Uninstalling llvmlite-0.39.1:\n", + " Successfully uninstalled llvmlite-0.39.1\n", + " Attempting uninstall: pandas\n", + " Found existing installation: pandas 1.5.3\n", + " Uninstalling pandas-1.5.3:\n", + " Successfully uninstalled pandas-1.5.3\n", + " Attempting uninstall: numba\n", + " Found existing installation: numba 0.56.4\n", + " Uninstalling numba-0.56.4:\n", + " Successfully uninstalled numba-0.56.4\n", + " Attempting uninstall: scikit_learn\n", + " Found existing installation: scikit-learn 1.2.2\n", + " Uninstalling scikit-learn-1.2.2:\n", + " Successfully uninstalled scikit-learn-1.2.2\n", + " Attempting uninstall: matplotlib\n", + " Found existing installation: matplotlib 3.7.1\n", + " Uninstalling matplotlib-3.7.1:\n", + " Successfully uninstalled matplotlib-3.7.1\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "google-colab 1.0.0 requires pandas==1.5.3, but you have pandas 2.1.0 which is incompatible.\n", + "moviepy 1.0.3 requires decorator<5.0,>=4.0.2, but you have decorator 5.1.1 which is incompatible.\n", + "tensorflow 2.13.0 requires numpy<=1.24.3,>=1.22, but you have numpy 1.24.4 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed GitPython-3.1.36 coverage-7.3.1 dill-0.3.7 docker-pycreds-0.4.0 freezegun-1.2.2 gitdb-4.0.10 kaleido-0.2.1 llvmlite-0.40.1 matplotlib-3.8.0 numba-0.57.1 numpy-1.24.4 pandas-2.1.0 pathtools-0.1.2 pyemd-1.0.0 pytest-cov-4.1.0 scikit_learn-1.3.0 sentry-sdk-1.31.0 setproctitle-1.3.2 smmap-5.0.1 tzdata-2023.3 wandb-0.15.10\n" + ] + }, + { + "data": { + "application/vnd.colab-display-data+json": { + "pip_warning": { + "packages": [ + "matplotlib", + "mpl_toolkits", + "numpy" + ] + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "!pip install -r requirements.txt" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8tPTtqVMgZBM" + }, + "source": [ + "## Install CCSD" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "jZfYXPdAdrKH", + "outputId": "2e74780c-3851-43a7-a67c-4cc706df42f4" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting ccsd\n", + " Downloading ccsd-0.3.0-py3-none-any.whl (137 kB)\n", + "\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/137.8 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K \u001b[91m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m71.7/137.8 kB\u001b[0m \u001b[31m2.0 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m137.8/137.8 kB\u001b[0m \u001b[31m2.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: dill>=0.3.6 in /usr/local/lib/python3.10/dist-packages (from ccsd) (0.3.7)\n", + "Requirement already satisfied: easydict>=1.10 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.10)\n", + "Requirement already satisfied: freezegun>=1.2.2 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.2.2)\n", + "Requirement already satisfied: hypernetx>=1.2.5 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.2.5)\n", + "Requirement already satisfied: imageio>=2.31.1 in /usr/local/lib/python3.10/dist-packages (from ccsd) (2.31.3)\n", + "Requirement already satisfied: joblib>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.3.2)\n", + "Requirement already satisfied: kaleido>=0.1.0.post1 in /usr/local/lib/python3.10/dist-packages (from ccsd) (0.2.1)\n", + "Requirement already satisfied: matplotlib>=3.7.2 in /usr/local/lib/python3.10/dist-packages (from ccsd) (3.8.0)\n", + "Requirement already satisfied: molsets>=0.3.1 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.0)\n", + "Requirement already satisfied: networkx>=2.8.8 in /usr/local/lib/python3.10/dist-packages (from ccsd) (2.8.8)\n", + "Requirement already satisfied: numpy>=1.24.4 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.24.4)\n", + "Requirement already satisfied: pandas>=2.0.3 in /usr/local/lib/python3.10/dist-packages (from ccsd) (2.1.0)\n", + "Requirement already satisfied: plotly>=5.15.0 in /usr/local/lib/python3.10/dist-packages (from ccsd) (5.15.0)\n", + "Requirement already satisfied: pyemd>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.0.0)\n", + "Requirement already satisfied: pytest>=7.4.0 in /usr/local/lib/python3.10/dist-packages (from ccsd) (7.4.1)\n", + "Requirement already satisfied: pytz>=2023.3 in /usr/local/lib/python3.10/dist-packages (from ccsd) (2023.3.post1)\n", + "Requirement already satisfied: pyyaml>=6.0 in /usr/local/lib/python3.10/dist-packages (from ccsd) (6.0.1)\n", + "Requirement already satisfied: rdkit>=2023.3.2 in /usr/local/lib/python3.10/dist-packages (from ccsd) (2023.3.3)\n", + "Requirement already satisfied: scikit-learn>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.3.0)\n", + "Requirement already satisfied: scipy>=1.11.1 in /usr/local/lib/python3.10/dist-packages (from ccsd) (1.11.2)\n", + "Requirement already satisfied: toponetx in /usr/local/lib/python3.10/dist-packages (from ccsd) (0.0.2)\n", + "Requirement already satisfied: torch>=2.0.1 in /usr/local/lib/python3.10/dist-packages (from ccsd) (2.0.1+cu118)\n", + "Requirement already satisfied: tqdm>=4.65.0 in /usr/local/lib/python3.10/dist-packages (from ccsd) (4.66.1)\n", + "Requirement already satisfied: wandb in /usr/local/lib/python3.10/dist-packages (from ccsd) (0.15.10)\n", + "Requirement already satisfied: pytest-cov in /usr/local/lib/python3.10/dist-packages (from ccsd) (4.1.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from freezegun>=1.2.2->ccsd) (2.8.2)\n", + "Requirement already satisfied: python-igraph>=0.9.6 in /usr/local/lib/python3.10/dist-packages (from hypernetx>=1.2.5->ccsd) (0.10.8)\n", + "Requirement already satisfied: celluloid>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from hypernetx>=1.2.5->ccsd) (0.2.0)\n", + "Requirement already satisfied: decorator>=5.1.1 in /usr/local/lib/python3.10/dist-packages (from hypernetx>=1.2.5->ccsd) (5.1.1)\n", + "Requirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from imageio>=2.31.1->ccsd) (9.4.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->ccsd) (1.1.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->ccsd) (0.11.0)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->ccsd) (4.42.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->ccsd) (1.4.5)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->ccsd) (23.1)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.7.2->ccsd) (3.1.1)\n", + "Requirement already satisfied: fcd-torch>=1.0.5 in /usr/local/lib/python3.10/dist-packages (from molsets>=0.3.1->ccsd) (1.0.7)\n", + "Requirement already satisfied: seaborn>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from molsets>=0.3.1->ccsd) (0.12.2)\n", + "Requirement already satisfied: pomegranate in /usr/local/lib/python3.10/dist-packages (from molsets>=0.3.1->ccsd) (1.0.3)\n", + "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0.3->ccsd) (2023.3)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=5.15.0->ccsd) (8.2.3)\n", + "Requirement already satisfied: iniconfig in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->ccsd) (2.0.0)\n", + "Requirement already satisfied: pluggy<2.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->ccsd) (1.3.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->ccsd) (1.1.3)\n", + "Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from pytest>=7.4.0->ccsd) (2.0.1)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.3.0->ccsd) (3.2.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->ccsd) (3.12.2)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->ccsd) (4.5.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->ccsd) (1.12)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->ccsd) (3.1.2)\n", + "Requirement already satisfied: triton==2.0.0 in /usr/local/lib/python3.10/dist-packages (from torch>=2.0.1->ccsd) (2.0.0)\n", + "Requirement already satisfied: cmake in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=2.0.1->ccsd) (3.27.4.1)\n", + "Requirement already satisfied: lit in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=2.0.1->ccsd) (16.0.6)\n", + "Requirement already satisfied: coverage[toml]>=5.2.1 in /usr/local/lib/python3.10/dist-packages (from pytest-cov->ccsd) (7.3.1)\n", + "Requirement already satisfied: gudhi in /usr/local/lib/python3.10/dist-packages (from toponetx->ccsd) (3.8.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from toponetx->ccsd) (2.31.0)\n", + "Requirement already satisfied: trimesh in /usr/local/lib/python3.10/dist-packages (from toponetx->ccsd) (3.23.5)\n", + "Requirement already satisfied: spharapy in /usr/local/lib/python3.10/dist-packages (from toponetx->ccsd) (1.1.2)\n", + "Requirement already satisfied: Click!=8.0.0,>=7.1 in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (8.1.7)\n", + "Requirement already satisfied: GitPython!=3.1.29,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (3.1.36)\n", + "Requirement already satisfied: psutil>=5.0.0 in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (5.9.5)\n", + "Requirement already satisfied: sentry-sdk>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (1.31.0)\n", + "Requirement already satisfied: docker-pycreds>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (0.4.0)\n", + "Requirement already satisfied: pathtools in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (0.1.2)\n", + "Requirement already satisfied: setproctitle in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (1.3.2)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (67.7.2)\n", + "Requirement already satisfied: appdirs>=1.4.3 in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (1.4.4)\n", + "Requirement already satisfied: protobuf!=4.21.0,<5,>=3.19.0 in /usr/local/lib/python3.10/dist-packages (from wandb->ccsd) (3.20.3)\n", + "Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from docker-pycreds>=0.4.0->wandb->ccsd) (1.16.0)\n", + "Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.10/dist-packages (from GitPython!=3.1.29,>=1.0.0->wandb->ccsd) (4.0.10)\n", + "Requirement already satisfied: igraph==0.10.8 in /usr/local/lib/python3.10/dist-packages (from python-igraph>=0.9.6->hypernetx>=1.2.5->ccsd) (0.10.8)\n", + "Requirement already satisfied: texttable>=1.6.2 in /usr/local/lib/python3.10/dist-packages (from igraph==0.10.8->python-igraph>=0.9.6->hypernetx>=1.2.5->ccsd) (1.6.7)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->ccsd) (3.2.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->ccsd) (3.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->ccsd) (2.0.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->toponetx->ccsd) (2023.7.22)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=2.0.1->ccsd) (2.1.3)\n", + "Requirement already satisfied: apricot-select>=0.6.1 in /usr/local/lib/python3.10/dist-packages (from pomegranate->molsets>=0.3.1->ccsd) (0.6.1)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=2.0.1->ccsd) (1.3.0)\n", + "Requirement already satisfied: numba>=0.43.0 in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->ccsd) (0.57.1)\n", + "Requirement already satisfied: nose in /usr/local/lib/python3.10/dist-packages (from apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->ccsd) (1.3.7)\n", + "Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.10/dist-packages (from gitdb<5,>=4.0.1->GitPython!=3.1.29,>=1.0.0->wandb->ccsd) (5.0.1)\n", + "Requirement already satisfied: llvmlite<0.41,>=0.40.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba>=0.43.0->apricot-select>=0.6.1->pomegranate->molsets>=0.3.1->ccsd) (0.40.1)\n", + "Installing collected packages: ccsd\n", + "Successfully installed ccsd-0.3.0\n" + ] + } + ], + "source": [ + "!pip install ccsd" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "S8YR9nShnMAM" + }, + "source": [ + "## RESTART RUNTIME!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vQm3R_sNnO-U" + }, + "source": [ + "Restart runtime now" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Xzmeg6s3mMoP" + }, + "source": [ + "## Check configuration file" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "m84oP9KqdzWD" + }, + "source": [ + "See how the configuration looks like" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nPUSBwstd4Zh", + "outputId": "b167a00d-eee2-4f1f-9cd1-f473a5277a4f" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "- '# Description: Configuration file to sample from the QM9 dataset with combinatorial\n", + " complexes using CCSD\n", + "\n", + " '\n", + "\n", + "- '# Used for the demonstration of the code during the thesis'' defense\n", + "\n", + " '\n", + "\n", + "- 'is_cc: True\n", + "\n", + " '\n", + "\n", + "- 'data:\n", + "\n", + " '\n", + "\n", + "- ' data: QM9\n", + "\n", + " '\n", + "\n", + "- ' dir: ''./data''\n", + "\n", + " '\n", + "\n", + "- ' max_node_num: 9\n", + "\n", + " '\n", + "\n", + "- ' min_node_val: 6\n", + "\n", + " '\n", + "\n", + "- ' max_node_val: 9\n", + "\n", + " '\n", + "\n", + "- ' node_label: symbol\n", + "\n", + " '\n", + "\n", + "- ' min_edge_val: 1\n", + "\n", + " '\n", + "\n", + "- ' max_edge_val: 3\n", + "\n", + " '\n", + "\n", + "- ' edge_label: bond_type\n", + "\n", + " '\n", + "\n", + "- ' d_min: 3\n", + "\n", + " '\n", + "\n", + "- ' d_max: 9\n", + "\n", + " '\n", + "\n", + "- 'ckpt: ccsd_qm9_CC\n", + "\n", + " '\n", + "\n", + "- 'sampler:\n", + "\n", + " '\n", + "\n", + "- ' predictor: Reverse\n", + "\n", + " '\n", + "\n", + "- ' corrector: Langevin\n", + "\n", + " '\n", + "\n", + "- ' snr: 0.2\n", + "\n", + " '\n", + "\n", + "- ' scale_eps: 0.7\n", + "\n", + " '\n", + "\n", + "- ' n_steps: 1\n", + "\n", + " '\n", + "\n", + "- 'sample:\n", + "\n", + " '\n", + "\n", + "- ' divide_batch: 4 # optional, only if RAM issue occurs\n", + "\n", + " '\n", + "\n", + "- ' n_samples: 16 # param only for mol datasets\n", + "\n", + " '\n", + "\n", + "- ' cc_nb_eval: 1000 # param only for cc datasets\n", + "\n", + " '\n", + "\n", + "- ' use_ema: False\n", + "\n", + " '\n", + "\n", + "- ' noise_removal: True\n", + "\n", + " '\n", + "\n", + "- ' probability_flow: False\n", + "\n", + " '\n", + "\n", + "- ' eps: 1.0e-4\n", + "\n", + " '\n", + "\n", + "- ' seed: 42\n", + "\n", + " '\n" + ] + } + ], + "source": [ + "import os\n", + "\n", + "import pyaml\n", + "\n", + "\n", + "with open(\n", + " os.path.join(\"../\", \"config\", \"sample_qm9_CC demonstration.yaml\"), \"r\"\n", + ") as config_file_content:\n", + " pyaml.pprint([l for l in config_file_content.readlines() if l != \"\\n\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TXhC98EhmQGC" + }, + "source": [ + "## Sample" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vlWe7szWd4te" + }, + "source": [ + "Sample 16 molecules from the QM9 dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WvqWJzaPd7pW", + "outputId": "3ebda437-95a1-4911-8b0f-8ac97641b575" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP5JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJYPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP? 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPP5YY5PPPPPPPPPP5YY5PPPPPPPPPPPPPPPPPP? .^!7?????7!^. 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPP5^. ~JYYY55557^....^?PPPPPPPPPPPPPPPP? :!J5PPPPPPPPPPP5J!. 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPP? :^ ~^ ~PPPPPPPPPPPPPPP? .?5PPPPPPPPPPPPPPPPP5! 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPP?^:^?J??777?.. .:5PPPPPPPPPPPPPP? ^5PPPPPP5?~^^~!?5PPPY!: 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPG5^:^. ^: :75PPPPPPPPPPPP? :5PPPPPP7. .7!: 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPP5!. !?^^~JJ~ .^!^^^~75PPPPP? 7PPPPPPJ 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPY!. ~YPPPPPPPPY^ .?PPPP? JPPPPPP! 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPP5557. ~YPPPPPPPPPPJ :PPPP? !PPPPPPJ 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPJ~....:~YPPPPPPPPPPPP5: 7PPPP? .YPPPPPP?. :?7^. 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPJ :5PPPPPPPPPPPPP57^...:~JPPPPP? .JPPPPPP5?!~~~!?5PPP5J!. 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPJ .5PPPPPPPPPPPPPPPP555PPPPPPPP? !5PPPPPPPPPPPPPPPPP57 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPJ^...:~YPPPPPPPPPPPPPPPPPPPPPPPPPPPP? .~?5PPPPPPPPPPP5J~. 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPP5555PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP? .:~!7??77!~:. 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP? 7PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP5YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY5PPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP _____ _____ _____ _____ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP / ____/ ____|/ ____| __ \\ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP | | | | | (___ | | | | PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP | | | | \\___ \\| | | | PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP | |___| |____ ____) | |__| | PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP \\_____\\_____|_____/|_____/ PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n", + "----------------------------------------------------------------------------------------------------\n", + "Current experiment:\n", + "\n", + "\ttype: sample\n", + "\tconfig: sample_qm9_CC demonstration\n", + "\tfolder: ../\n", + "\tcomment: Experiment for the thesis' defense\n", + "\tseed: 42\n", + "\n", + "../checkpoints\\QM9\\ccsd_qm9_CC.pth loaded\n", + "----------------------------------------------------------------------------------------------------\n", + "Make Directory QM9\\test in Logs\n", + "sample_qm9_CC demonstration_ccsd_qm9_CC-sample_Sep18-09-12-14\n", + "----------------------------------------------------------------------------------------------------\n", + "Using device: cpu\n", + "----------------------------------------------------------------------------------------------------\n", + "[QM9] init=atom (4) seed=42 batch_size=1024\n", + "----------------------------------------------------------------------------------------------------\n", + "lr=0.005 schedule=True ema=0.999 epochs=300 reduce=False eps=1e-05\n", + "(ScoreNetworkX)+(ScoreNetworkA_CC=GCN,4) : depth=2 adim=10 nhid=10 layers=3 linears=3 c=(2 8 4)\n", + "(x:VE)=(0.10, 1.00) N=1000 (adj:VE)=(0.10, 1.00) N=1000 \n", + "----------------------------------------------------------------------------------------------------\n", + "(Reverse)+(Langevin): eps=0.0001 denoise=True ema=False || snr=0.2 seps=0.7 n_steps=1 \n", + "----------------------------------------------------------------------------------------------------\n", + "Model ScoreNetworkX loaded on cpu\n", + "Model ScoreNetworkA_CC loaded on cpu\n", + "Model ScoreNetworkF loaded on cpu\n", + "GEN SEED: 42\n", + "Loading existing files...\n", + "Sampling 16 samples ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " \n", + "Sampling done.\n", + "Sampling time: 957.843 seconds\n", + "Evaluating method: nspdk (1/1) ...\n", + "\u001b[91mnspdk \u001b[0m : \u001b[94m0.054083\u001b[0m\n", + "Time elapsed: 113.437s\n", + "Evaluating method: hodge_laplacian_spectrum (1/4) ...\n", + "\u001b[91mhodge_laplacian_spectrum\u001b[0m : \u001b[94mnan\u001b[0m\n", + "Time elapsed: 421.496s\n", + "Evaluating method: rank0_distrib (2/4) ...\n", + "\u001b[91mrank0_distrib\u001b[0m : \u001b[94m-0.000289\u001b[0m\n", + "Time elapsed: 106.614s\n", + "Evaluating method: rank1_distrib (3/4) ...\n", + "\u001b[91mrank1_distrib\u001b[0m : \u001b[94m0.003387\u001b[0m\n", + "Time elapsed: 94.171s\n", + "Evaluating method: rank2_distrib (4/4) ...\n", + "\u001b[91mrank2_distrib\u001b[0m : \u001b[94m0.067907\u001b[0m\n", + "Time elapsed: 109.093s\n", + "Number of molecules: 16\n", + "validity w/o correction: 0.8125\n", + "valid: 1.0\n", + "unique@16: 1.0\n", + "FCD/Test: 11.63913950697593\n", + "Novelty: 0.6875\n", + "NSPDK MMD: 0.05408348369595839\n", + "====================================================================================================\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[09:46:37] Molecule does not have explicit Hs. Consider calling AddHs()\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating the rotating molecule animation ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 30/30 [00:45<00:00, 1.50s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading the images ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 30/30 [00:00<00:00, 77.08it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating the gif ...\n", + "Deleting the images ...\n", + "Creating the graph diffusion animation ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [00:12<00:00, 8.22it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading the images ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [00:02<00:00, 44.42it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating the gif ...\n", + "Deleting the images ...\n", + "Creating the graph diffusion animation ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [00:12<00:00, 8.26it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading the images ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [00:04<00:00, 24.39it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating the gif ...\n", + "Deleting the images ...\n", + "Creating the molecule diffusion animation ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/100 [00:00