File size: 264,307 Bytes
0bc8860
1
{"cells":[{"cell_type":"code","execution_count":1,"metadata":{"id":"5Erad3DSkG3R","collapsed":true,"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762407823,"user_tz":480,"elapsed":6632,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"212a5b27-05d9-4e2e-c186-4a8b152ee873"},"outputs":[{"output_type":"stream","name":"stdout","text":["bin/micromamba\n","2.4.0\n"]}],"source":["!wget -qO micromamba.tar.bz2 https://micromamba.snakepit.net/api/micromamba/linux-64/latest\n","!tar -xvjf micromamba.tar.bz2 bin/micromamba\n","!mv bin/micromamba /usr/local/bin/\n","!rm -rf bin micromamba.tar.bz2\n","!micromamba --version"]},{"cell_type":"code","execution_count":2,"metadata":{"id":"kZu8VYCmaEso","collapsed":true,"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762425879,"user_tz":480,"elapsed":18054,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"362a96e7-e639-4c5f-f1a7-d67919b84c82"},"outputs":[{"output_type":"stream","name":"stdout","text":["\u001b[?25l\u001b[2K\u001b[0G\u001b[?25h\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n","\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n","conda-forge/linux-64   1%\n","conda-forge/noarch    ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n","conda-forge/linux-64  18%\n","conda-forge/noarch    10%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n","conda-forge/linux-64  30%\n","conda-forge/noarch    34%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\n","conda-forge/linux-64  42%\n","conda-forge/noarch    58%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\n","conda-forge/linux-64  54%\n","conda-forge/noarch    82%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\n","conda-forge/linux-64  62%\n","conda-forge/noarch    91%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/noarch                                \n","[+] 0.7s\n","conda-forge/linux-64  64%\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\n","conda-forge/linux-64  76%\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\n","conda-forge/linux-64  98%\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\n","conda-forge/linux-64  98%\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/linux-64                              \n","\u001b[?25h\n","\n","Transaction\n","\n","  Prefix: /root/.local/share/mamba/envs/partfield\n","\n","  Updating specs:\n","\n","   - python=3.10\n","\n","\n","  Package              Version  Build                 Channel          Size\n","─────────────────────────────────────────────────────────────────────────────\n","  Install:\n","─────────────────────────────────────────────────────────────────────────────\n","\n","  \u001b[32m+ _libgcc_mutex   \u001b[0m       0.1  conda_forge           conda-forge       3kB\n","  \u001b[32m+ _openmp_mutex   \u001b[0m       4.5  2_gnu                 conda-forge      24kB\n","  \u001b[32m+ bzip2           \u001b[0m     1.0.8  hda65f42_8            conda-forge     260kB\n","  \u001b[32m+ ca-certificates \u001b[0m  2026.1.4  hbd8a1cb_0            conda-forge     147kB\n","  \u001b[32m+ icu             \u001b[0m      78.1  h33c6efd_0            conda-forge      13MB\n","  \u001b[32m+ ld_impl_linux-64\u001b[0m      2.45  default_hbd61a6d_105  conda-forge     731kB\n","  \u001b[32m+ libexpat        \u001b[0m     2.7.3  hecca717_0            conda-forge      77kB\n","  \u001b[32m+ libffi          \u001b[0m     3.5.2  h9ec8514_0            conda-forge      58kB\n","  \u001b[32m+ libgcc          \u001b[0m    15.2.0  he0feb66_16           conda-forge       1MB\n","  \u001b[32m+ libgcc-ng       \u001b[0m    15.2.0  h69a702a_16           conda-forge      27kB\n","  \u001b[32m+ libgomp         \u001b[0m    15.2.0  he0feb66_16           conda-forge     603kB\n","  \u001b[32m+ liblzma         \u001b[0m     5.8.1  hb9d3cd8_2            conda-forge     113kB\n","  \u001b[32m+ libnsl          \u001b[0m     2.0.1  hb9d3cd8_1            conda-forge      34kB\n","  \u001b[32m+ libsqlite       \u001b[0m    3.51.1  hf4e2dac_1            conda-forge     943kB\n","  \u001b[32m+ libstdcxx       \u001b[0m    15.2.0  h934c35e_16           conda-forge       6MB\n","  \u001b[32m+ libuuid         \u001b[0m    2.41.3  h5347b49_0            conda-forge      40kB\n","  \u001b[32m+ libxcrypt       \u001b[0m    4.4.36  hd590300_1            conda-forge     100kB\n","  \u001b[32m+ libzlib         \u001b[0m     1.3.1  hb9d3cd8_2            conda-forge      61kB\n","  \u001b[32m+ ncurses         \u001b[0m       6.5  h2d0b736_3            conda-forge     892kB\n","  \u001b[32m+ openssl         \u001b[0m     3.6.0  h26f9b46_0            conda-forge       3MB\n","  \u001b[32m+ pip             \u001b[0m      25.3  pyh8b19718_0          conda-forge       1MB\n","  \u001b[32m+ python          \u001b[0m   3.10.19  h3c07f61_2_cpython    conda-forge      25MB\n","  \u001b[32m+ readline        \u001b[0m       8.3  h853b02a_0            conda-forge     345kB\n","  \u001b[32m+ setuptools      \u001b[0m    80.9.0  pyhff2d567_0          conda-forge     749kB\n","  \u001b[32m+ tk              \u001b[0m    8.6.13  noxft_ha0e22de_103    conda-forge       3MB\n","  \u001b[32m+ tzdata          \u001b[0m     2025c  hc9c84f9_1            conda-forge     119kB\n","  \u001b[32m+ wheel           \u001b[0m    0.45.1  pyhd8ed1ab_1          conda-forge      63kB\n","  \u001b[32m+ zstd            \u001b[0m     1.5.7  hb78ec9c_6            conda-forge     601kB\n","\n","  Summary:\n","\n","  Install: 28 packages\n","\n","  Total download: 59MB\n","\n","─────────────────────────────────────────────────────────────────────────────\n","\n","\n","\n","Transaction starting\n","\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n","Downloading        5%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n","Downloading  (5)   0%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gopenssl                                              3.2MB @  21.6MB/s  0.1s\n","tk                                                   3.3MB @   1.7MB/s  0.1s\n","libstdcxx                                            5.9MB @  34.3MB/s  0.1s\n","pip                                                  1.2MB @  ??.?MB/s  0.1s\n","libgcc                                               1.0MB @  ??.?MB/s  0.0s\n","libsqlite                                          943.5kB @  ??.?MB/s  0.1s\n","[+] 0.2s\n","Downloading  (5)  59%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gsetuptools                                         748.8kB @  ??.?MB/s  0.0s\n","ncurses                                            891.6kB @  ??.?MB/s  0.0s\n","ld_impl_linux-64                                   730.8kB @  ??.?MB/s  0.0s\n","libgomp                                            603.3kB @  ??.?MB/s  0.0s\n","zstd                                               601.4kB @  ??.?MB/s  0.0s\n","readline                                           345.1kB @  ??.?MB/s  0.0s\n","icu                                                 12.7MB @  48.2MB/s  0.2s\n","ca-certificates                                    146.5kB @  ??.?MB/s  0.0s\n","bzip2                                              260.3kB @   5.2MB/s  0.1s\n","[+] 0.3s\n","Downloading  (5)  86%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gliblzma                                            112.9kB @  ??.?MB/s  0.0s\n","tzdata                                             119.1kB @  ??.?MB/s  0.1s\n","libexpat                                            76.6kB @  ??.?MB/s  0.0s\n","libxcrypt                                          100.4kB @  ??.?MB/s  0.1s\n","libzlib                                             61.0kB @  ??.?MB/s  0.0s\n","wheel                                               62.9kB @  ??.?MB/s  0.1s\n","libuuid                                             40.3kB @  ??.?MB/s  0.0s\n","libnsl                                              33.7kB @  ??.?MB/s  0.0s\n","libffi                                              57.8kB @  ??.?MB/s  0.1s\n","[+] 0.4s\n","Downloading  (4)  98%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G_openmp_mutex                                       23.6kB @  ??.?MB/s  0.0s\n","libgcc-ng                                           27.3kB @  ??.?MB/s  0.1s\n","_libgcc_mutex                                        2.6kB @  ??.?MB/s  0.0s\n","python                                              25.3MB @  59.3MB/s  0.4s\n","[+] 0.5s\n","Downloading      100%\n","Extracting        97%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\n","Downloading      100%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\n","Downloading      100%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\n","Downloading      100%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\n","Downloading      100%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G\u001b[?25hLinking tzdata-2025c-hc9c84f9_1\n","Linking ca-certificates-2026.1.4-hbd8a1cb_0\n","Linking libgomp-15.2.0-he0feb66_16\n","Linking _libgcc_mutex-0.1-conda_forge\n","Linking _openmp_mutex-4.5-2_gnu\n","Linking libgcc-15.2.0-he0feb66_16\n","Linking libstdcxx-15.2.0-h934c35e_16\n","Linking openssl-3.6.0-h26f9b46_0\n","Linking ncurses-6.5-h2d0b736_3\n","Linking libzlib-1.3.1-hb9d3cd8_2\n","Linking libgcc-ng-15.2.0-h69a702a_16\n","Linking libuuid-2.41.3-h5347b49_0\n","Linking libnsl-2.0.1-hb9d3cd8_1\n","Linking liblzma-5.8.1-hb9d3cd8_2\n","Linking libffi-3.5.2-h9ec8514_0\n","Linking libexpat-2.7.3-hecca717_0\n","Linking bzip2-1.0.8-hda65f42_8\n","Linking icu-78.1-h33c6efd_0\n","Linking readline-8.3-h853b02a_0\n","Linking zstd-1.5.7-hb78ec9c_6\n","Linking tk-8.6.13-noxft_ha0e22de_103\n","Linking libxcrypt-4.4.36-hd590300_1\n","Linking libsqlite-3.51.1-hf4e2dac_1\n","Linking ld_impl_linux-64-2.45-default_hbd61a6d_105\n","Linking python-3.10.19-h3c07f61_2_cpython\n","Linking wheel-0.45.1-pyhd8ed1ab_1\n","Linking setuptools-80.9.0-pyhff2d567_0\n","Linking pip-25.3-pyh8b19718_0\n","\n","Transaction finished\n","\n","\n","To activate this environment, use:\n","\n","    micromamba activate partfield\n","\n","Or to execute a single command in this environment, use:\n","\n","    micromamba run -n partfield mycommand\n","\n"]}],"source":["!micromamba create -y -n partfield python=3.10"]},{"cell_type":"code","source":["!micromamba install -n partfield nvidia/label/cuda-12.4.0::cuda-toolkit -c nvidia -c conda-forge -y"],"metadata":{"id":"hqiE1TkaL-Ug","collapsed":true,"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762487307,"user_tz":480,"elapsed":61424,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"2754457f-32ed-4250-9a69-4e49c552c4ce"},"execution_count":3,"outputs":[{"output_type":"stream","name":"stdout","text":["conda-forge/linux-64                                        Using cache\n","conda-forge/noarch                                          Using cache\n","\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n","\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n","nvidia/label/cuda-..  ⣾  \n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n","nvidia/label/cuda-..  ⣾  \n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n","nvidia/label/cuda-..  ⣾  \n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\n","nvidia/label/cuda-..  ⣾  \n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[0G\u001b[?25h\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n","\u001b[2K\u001b[1A\u001b[2K\u001b[0Gnvidia/linux-64                                    309.1kB @ 236.0kB/s  0.0s\n","nvidia/noarch                                       ??.?MB @  ??.?MB/s  0.0s\n","[+] 0.1s\n","nvidia/label/cuda-..  ⣾  \n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n","nvidia/label/cuda-..  ⣾  \n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n","nvidia/label/cuda-..  ⣾  \n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gnvidia/label/cuda-12.4.0/linux-64                 \n","[+] 0.4s\n","nvidia/label/cuda-..  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[0Gnvidia/label/cuda-12.4.0/noarch                   \n","\u001b[?25h\n","Pinned packages:\n","\n","  - python=3.10\n","\n","\n","Transaction\n","\n","  Prefix: /root/.local/share/mamba/envs/partfield\n","\n","  Updating specs:\n","\n","   - nvidia/label/cuda-12.4.0::cuda-toolkit\n","\n","\n","  Package                           Version  Build                 Channel                       Size\n","───────────────────────────────────────────────────────────────────────────────────────────────────────\n","  Install:\n","───────────────────────────────────────────────────────────────────────────────────────────────────────\n","\n","  \u001b[32m+ binutils_impl_linux-64     \u001b[0m        2.45  default_hfdba357_105  conda-forge                    4MB\n","  \u001b[32m+ binutils_linux-64          \u001b[0m        2.45  default_h4852527_105  conda-forge                   36kB\n","  \u001b[32m+ cuda-cccl_linux-64         \u001b[0m     12.9.27  0                     nvidia                         1MB\n","  \u001b[32m+ cuda-command-line-tools    \u001b[0m      12.9.1  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-compiler              \u001b[0m      12.9.1  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-crt-dev_linux-64      \u001b[0m     12.9.86  0                     nvidia                        86kB\n","  \u001b[32m+ cuda-crt-tools             \u001b[0m     12.9.86  0                     nvidia                        20kB\n","  \u001b[32m+ cuda-cudart                \u001b[0m     12.9.79  0                     nvidia                        18kB\n","  \u001b[32m+ cuda-cudart-dev            \u001b[0m     12.9.79  0                     nvidia                        18kB\n","  \u001b[32m+ cuda-cudart-dev_linux-64   \u001b[0m     12.9.79  0                     nvidia                       383kB\n","  \u001b[32m+ cuda-cudart-static         \u001b[0m     12.9.79  0                     nvidia                        18kB\n","  \u001b[32m+ cuda-cudart-static_linux-64\u001b[0m     12.9.79  0                     nvidia                         1MB\n","  \u001b[32m+ cuda-cudart_linux-64       \u001b[0m     12.9.79  0                     nvidia                       194kB\n","  \u001b[32m+ cuda-cuobjdump             \u001b[0m     12.9.82  1                     nvidia                       247kB\n","  \u001b[32m+ cuda-cupti                 \u001b[0m     12.9.79  0                     nvidia                         2MB\n","  \u001b[32m+ cuda-cupti-dev             \u001b[0m     12.9.79  0                     nvidia                         4MB\n","  \u001b[32m+ cuda-cuxxfilt              \u001b[0m     12.9.82  1                     nvidia                       214kB\n","  \u001b[32m+ cuda-documentation         \u001b[0m    12.4.127  0                     nvidia                        92kB\n","  \u001b[32m+ cuda-driver-dev            \u001b[0m     12.9.79  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-driver-dev_linux-64   \u001b[0m     12.9.79  0                     nvidia                        32kB\n","  \u001b[32m+ cuda-gdb                   \u001b[0m     12.9.79  1                     nvidia                       383kB\n","  \u001b[32m+ cuda-libraries             \u001b[0m      12.9.1  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-libraries-dev         \u001b[0m      12.9.1  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-libraries-static      \u001b[0m      12.9.1  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-nsight                \u001b[0m     12.9.79  0                     nvidia                       119MB\n","  \u001b[32m+ cuda-nvcc                  \u001b[0m     12.9.86  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-nvcc-dev_linux-64     \u001b[0m     12.9.86  0                     nvidia                        14MB\n","  \u001b[32m+ cuda-nvcc-impl             \u001b[0m     12.9.86  0                     nvidia                        20kB\n","  \u001b[32m+ cuda-nvcc-tools            \u001b[0m     12.9.86  0                     nvidia                        27MB\n","  \u001b[32m+ cuda-nvcc_linux-64         \u001b[0m     12.9.86  0                     nvidia                        20kB\n","  \u001b[32m+ cuda-nvdisasm              \u001b[0m     12.9.88  1                     nvidia                         6MB\n","  \u001b[32m+ cuda-nvml-dev              \u001b[0m     12.9.79  1                     nvidia                       139kB\n","  \u001b[32m+ cuda-nvprof                \u001b[0m     12.9.79  0                     nvidia                         3MB\n","  \u001b[32m+ cuda-nvprune               \u001b[0m     12.9.82  1                     nvidia                        67kB\n","  \u001b[32m+ cuda-nvrtc                 \u001b[0m     12.9.86  0                     nvidia                        67MB\n","  \u001b[32m+ cuda-nvrtc-dev             \u001b[0m     12.9.86  0                     nvidia                        31kB\n","  \u001b[32m+ cuda-nvrtc-static          \u001b[0m     12.9.86  0                     nvidia                        57MB\n","  \u001b[32m+ cuda-nvtx                  \u001b[0m     12.9.79  0                     nvidia                        25kB\n","  \u001b[32m+ cuda-nvvm-dev_linux-64     \u001b[0m     12.9.86  0                     nvidia                        18kB\n","  \u001b[32m+ cuda-nvvm-impl             \u001b[0m     12.9.86  0                     nvidia                        21MB\n","  \u001b[32m+ cuda-nvvm-tools            \u001b[0m     12.9.86  0                     nvidia                        24MB\n","  \u001b[32m+ cuda-nvvp                  \u001b[0m     12.9.79  1                     nvidia                       118MB\n","  \u001b[32m+ cuda-opencl                \u001b[0m     12.9.19  0                     nvidia                        26kB\n","  \u001b[32m+ cuda-opencl-dev            \u001b[0m     12.9.19  0                     nvidia                        93kB\n","  \u001b[32m+ cuda-profiler-api          \u001b[0m     12.9.79  0                     nvidia                        20kB\n","  \u001b[32m+ cuda-sanitizer-api         \u001b[0m     12.9.79  1                     nvidia                         9MB\n","  \u001b[32m+ cuda-toolkit               \u001b[0m      12.4.0  0                     nvidia/label/cuda-12.4.0       2kB\n","  \u001b[32m+ cuda-tools                 \u001b[0m      12.9.1  0                     nvidia                        17kB\n","  \u001b[32m+ cuda-version               \u001b[0m        12.9  3                     nvidia                        17kB\n","  \u001b[32m+ cuda-visual-tools          \u001b[0m      12.9.1  0                     nvidia                        17kB\n","  \u001b[32m+ dbus                       \u001b[0m      1.16.2  h24cb091_1            conda-forge                  448kB\n","  \u001b[32m+ expat                      \u001b[0m       2.7.3  hecca717_0            conda-forge                  144kB\n","  \u001b[32m+ fontconfig                 \u001b[0m      2.15.0  h7e30c49_1            conda-forge                  266kB\n","  \u001b[32m+ freetype                   \u001b[0m      2.14.1  ha770c72_0            conda-forge                  173kB\n","  \u001b[32m+ gcc_impl_linux-64          \u001b[0m      13.4.0  hf787b08_16           conda-forge                   68MB\n","  \u001b[32m+ gcc_linux-64               \u001b[0m      13.4.0  h0a5b801_17           conda-forge                   29kB\n","  \u001b[32m+ gds-tools                  \u001b[0m    1.14.1.1  4                     nvidia                        40MB\n","  \u001b[32m+ gmp                        \u001b[0m       6.3.0  hac33072_2            conda-forge                  460kB\n","  \u001b[32m+ gxx_impl_linux-64          \u001b[0m      13.4.0  h6a38259_16           conda-forge                   14MB\n","  \u001b[32m+ gxx_linux-64               \u001b[0m      13.4.0  h50488e6_17           conda-forge                   27kB\n","  \u001b[32m+ kernel-headers_linux-64    \u001b[0m      5.14.0  he073ed8_3            conda-forge                    1MB\n","  \u001b[32m+ libcublas                  \u001b[0m    12.9.1.4  0                     nvidia                       468MB\n","  \u001b[32m+ libcublas-dev              \u001b[0m    12.9.1.4  0                     nvidia                        89kB\n","  \u001b[32m+ libcublas-static           \u001b[0m    12.9.1.4  0                     nvidia                       491MB\n","  \u001b[32m+ libcufft                   \u001b[0m    11.4.1.4  0                     nvidia                       162MB\n","  \u001b[32m+ libcufft-dev               \u001b[0m    11.4.1.4  0                     nvidia                        30kB\n","  \u001b[32m+ libcufft-static            \u001b[0m    11.4.1.4  0                     nvidia                       325MB\n","  \u001b[32m+ libcufile                  \u001b[0m    1.14.1.1  4                     nvidia                       969kB\n","  \u001b[32m+ libcufile-dev              \u001b[0m    1.14.1.1  4                     nvidia                        31kB\n","  \u001b[32m+ libcufile-static           \u001b[0m    1.14.1.1  4                     nvidia                         3MB\n","  \u001b[32m+ libcurand                  \u001b[0m  10.3.10.19  0                     nvidia                        46MB\n","  \u001b[32m+ libcurand-dev              \u001b[0m  10.3.10.19  0                     nvidia                       244kB\n","  \u001b[32m+ libcurand-static           \u001b[0m  10.3.10.19  0                     nvidia                        46MB\n","  \u001b[32m+ libcusolver                \u001b[0m   11.7.5.82  0                     nvidia                       205MB\n","  \u001b[32m+ libcusolver-dev            \u001b[0m   11.7.5.82  0                     nvidia                        58kB\n","  \u001b[32m+ libcusolver-static         \u001b[0m   11.7.5.82  0                     nvidia                       135MB\n","  \u001b[32m+ libcusparse                \u001b[0m  12.5.10.65  0                     nvidia                       209MB\n","  \u001b[32m+ libcusparse-dev            \u001b[0m  12.5.10.65  0                     nvidia                        47kB\n","  \u001b[32m+ libcusparse-static         \u001b[0m  12.5.10.65  0                     nvidia                       212MB\n","  \u001b[32m+ libfreetype                \u001b[0m      2.14.1  ha770c72_0            conda-forge                    8kB\n","  \u001b[32m+ libfreetype6               \u001b[0m      2.14.1  h73754d4_0            conda-forge                  387kB\n","  \u001b[32m+ libgcc-devel_linux-64      \u001b[0m      13.4.0  hd1d28cc_116          conda-forge                    3MB\n","  \u001b[32m+ libglib                    \u001b[0m      2.86.3  h6548e54_0            conda-forge                    4MB\n","  \u001b[32m+ libiconv                   \u001b[0m        1.18  h3b78370_2            conda-forge                  790kB\n","  \u001b[32m+ libnpp                     \u001b[0m   12.4.1.87  0                     nvidia                       176MB\n","  \u001b[32m+ libnpp-dev                 \u001b[0m   12.4.1.87  0                     nvidia                       453kB\n","  \u001b[32m+ libnpp-static              \u001b[0m   12.4.1.87  0                     nvidia                       172MB\n","  \u001b[32m+ libnvfatbin                \u001b[0m     12.9.82  0                     nvidia                       818kB\n","  \u001b[32m+ libnvfatbin-dev            \u001b[0m     12.9.82  0                     nvidia                        22kB\n","  \u001b[32m+ libnvfatbin-static         \u001b[0m     12.9.82  0                     nvidia                       683kB\n","  \u001b[32m+ libnvjitlink               \u001b[0m     12.9.86  0                     nvidia                        31MB\n","  \u001b[32m+ libnvjitlink-dev           \u001b[0m     12.9.86  0                     nvidia                        22kB\n","  \u001b[32m+ libnvjitlink-static        \u001b[0m     12.9.86  0                     nvidia                        28MB\n","  \u001b[32m+ libnvjpeg                  \u001b[0m   12.4.0.76  0                     nvidia                         4MB\n","  \u001b[32m+ libnvjpeg-dev              \u001b[0m   12.4.0.76  0                     nvidia                        28kB\n","  \u001b[32m+ libnvjpeg-static           \u001b[0m   12.4.0.76  0                     nvidia                         3MB\n","  \u001b[32m+ libpng                     \u001b[0m      1.6.53  h421ea60_0            conda-forge                  318kB\n","  \u001b[32m+ libsanitizer               \u001b[0m      13.4.0  h2a15e64_16           conda-forge                    6MB\n","  \u001b[32m+ libstdcxx-devel_linux-64   \u001b[0m      13.4.0  h6963c3b_116          conda-forge                   19MB\n","  \u001b[32m+ libstdcxx-ng               \u001b[0m      15.2.0  hdf11a46_16           conda-forge                   27kB\n","  \u001b[32m+ libxcb                     \u001b[0m      1.17.0  h8a09558_0            conda-forge                  396kB\n","  \u001b[32m+ libxkbcommon               \u001b[0m      1.13.1  hca5e8e5_0            conda-forge                  838kB\n","  \u001b[32m+ libxml2                    \u001b[0m      2.15.1  he237659_1            conda-forge                   45kB\n","  \u001b[32m+ libxml2-16                 \u001b[0m      2.15.1  hca6bf5a_1            conda-forge                  556kB\n","  \u001b[32m+ nsight-compute             \u001b[0m  2025.2.1.3  0                     nvidia                       335MB\n","  \u001b[32m+ nspr                       \u001b[0m        4.38  h29cc59b_0            conda-forge                  229kB\n","  \u001b[32m+ nss                        \u001b[0m       3.118  h445c969_0            conda-forge                    2MB\n","  \u001b[32m+ ocl-icd                    \u001b[0m       2.3.3  hb9d3cd8_0            conda-forge                  107kB\n","  \u001b[32m+ opencl-headers             \u001b[0m  2025.06.13  h5888daf_0            conda-forge                   55kB\n","  \u001b[32m+ pcre2                      \u001b[0m       10.47  haa7fec5_0            conda-forge                    1MB\n","  \u001b[32m+ pthread-stubs              \u001b[0m         0.4  hb9d3cd8_1002         conda-forge                    8kB\n","  \u001b[32m+ sysroot_linux-64           \u001b[0m        2.34  h087de78_3            conda-forge                   41MB\n","  \u001b[32m+ xkeyboard-config           \u001b[0m        2.46  hb03c661_0            conda-forge                  397kB\n","  \u001b[32m+ xorg-libx11                \u001b[0m      1.8.12  h4f16b4b_0            conda-forge                  836kB\n","  \u001b[32m+ xorg-libxau                \u001b[0m      1.0.12  hb03c661_1            conda-forge                   15kB\n","  \u001b[32m+ xorg-libxdmcp              \u001b[0m       1.1.5  hb03c661_1            conda-forge                   21kB\n","\n","  Summary:\n","\n","  Install: 116 packages\n","\n","  Total download: 4GB\n","\n","───────────────────────────────────────────────────────────────────────────────────────────────────────\n","\n","\n","\n","Transaction starting\n","\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n","Downloading        5%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n","Downloading  (5)   0%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n","Downloading  (5)   3%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n","Downloading  (5)   6%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\n","Downloading  (5)   9%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\n","Downloading  (5)  12%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\n","Downloading  (5)  16%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\n","Downloading  (5)  19%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\n","Downloading  (5)  22%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\n","Downloading  (5)  25%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\n","Downloading  (5)  28%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\n","Downloading  (5)  32%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.2s\n","Downloading  (5)  36%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\n","Downloading  (5)  39%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.4s\n","Downloading  (5)  42%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.5s\n","Downloading  (5)  45%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.6s\n","Downloading  (5)  49%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.7s\n","Downloading  (5)  53%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.8s\n","Downloading  (5)  56%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.9s\n","Downloading  (5)  60%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcusparse-static                                 211.8MB @ 108.7MB/s  1.9s\n","[+] 2.0s\n","Downloading  (5)  57%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.1s\n","Downloading  (5)  61%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.2s\n","Downloading  (5)  64%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcufft-static                                    325.3MB @ 142.5MB/s  2.2s\n","[+] 2.3s\n","Downloading  (5)  60%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.4s\n","Downloading  (5)  62%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.5s\n","Downloading  (5)  66%\n","Extracting         0%\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.6s\n","Downloading  (5)  67%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gnsight-compute                                     334.8MB @ 126.7MB/s  2.6s\n","[+] 2.7s\n","Downloading  (5)  64%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.8s\n","Downloading  (5)  64%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.9s\n","Downloading  (5)  65%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.0s\n","Downloading  (5)  66%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.1s\n","Downloading  (5)  67%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.2s\n","Downloading  (5)  67%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.3s\n","Downloading  (5)  68%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.4s\n","Downloading  (5)  68%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.5s\n","Downloading  (5)  68%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.6s\n","Downloading  (5)  68%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\n","Downloading  (5)  68%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.8s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.9s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.0s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.1s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.2s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.3s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.4s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.5s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.6s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.7s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.9s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.1s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.2s\n","Downloading  (5)  68%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.3s\n","Downloading  (5)  70%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.4s\n","Downloading  (5)  72%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.5s\n","Downloading  (5)  75%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.6s\n","Downloading  (5)  77%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.7s\n","Downloading  (5)  80%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.8s\n","Downloading  (5)  81%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.9s\n","Downloading  (5)  82%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.0s\n","Downloading  (5)  83%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.1s\n","Downloading  (5)  83%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.2s\n","Downloading  (5)  84%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.3s\n","Downloading  (5)  84%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\n","Downloading  (5)  85%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.5s\n","Downloading  (5)  85%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\n","Downloading  (5)  85%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.7s\n","Downloading  (5)  86%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.8s\n","Downloading  (5)  86%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\n","Downloading  (5)  86%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.0s\n","Downloading  (5)  87%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.1s\n","Downloading  (5)  87%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.2s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.4s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.7s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.9s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.0s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.1s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.2s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.3s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.4s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.5s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.6s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.7s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.8s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.9s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.0s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.1s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.2s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.3s\n","Downloading  (5)  88%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.4s\n","Downloading  (5)  90%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.5s\n","Downloading  (5)  93%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcusparse                                        208.9MB @  26.8MB/s  7.6s\n","[+] 9.6s\n","Downloading  (5)  90%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnpp                                             175.7MB @  24.9MB/s  7.0s\n","libcublas-static                                   491.1MB @  50.1MB/s  9.6s\n","[+] 9.7s\n","Downloading  (5)  83%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcusolver                                        205.2MB @  26.9MB/s  7.4s\n","[+] 9.8s\n","Downloading  (5)  81%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.9s\n","Downloading  (5)  82%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.0s\n","Downloading  (5)  83%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.1s\n","Downloading  (5)  85%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcublas                                          468.0MB @  46.0MB/s 10.1s\n","[+] 10.2s\n","Downloading  (5)  84%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.3s\n","Downloading  (5)  85%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.4s\n","Downloading  (5)  85%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.5s\n","Downloading  (5)  85%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.6s\n","Downloading  (5)  85%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.7s\n","Downloading  (5)  86%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.8s\n","Downloading  (5)  86%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.9s\n","Downloading  (5)  86%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.0s\n","Downloading  (5)  86%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.1s\n","Downloading  (5)  87%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.2s\n","Downloading  (5)  87%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.3s\n","Downloading  (5)  87%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.4s\n","Downloading  (5)  87%\n","Extracting   (4)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.5s\n","Downloading  (5)  87%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.6s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.7s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.8s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.9s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.0s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.1s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.2s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.3s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.4s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.5s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.6s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.7s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.8s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.9s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.0s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.1s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.2s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.3s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.4s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.5s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.6s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.7s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.8s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.9s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.0s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.1s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.2s\n","Downloading  (5)  87%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.3s\n","Downloading  (5)  89%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.4s\n","Downloading  (5)  90%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.5s\n","Downloading  (5)  91%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.6s\n","Downloading  (5)  94%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-nsight                                        118.7MB @  23.9MB/s  4.9s\n","[+] 14.7s\n","Downloading  (5)  92%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.8s\n","Downloading  (5)  93%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.9s\n","Downloading  (5)  93%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.0s\n","Downloading  (5)  93%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.1s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.2s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.3s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.4s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.5s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.6s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.7s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.8s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.9s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.0s\n","Downloading  (5)  95%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.1s\n","Downloading  (5)  95%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.2s\n","Downloading  (5)  95%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.3s\n","Downloading  (5)  95%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.4s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.5s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.6s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.7s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.8s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.9s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.0s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.1s\n","Downloading  (5)  97%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.2s\n","Downloading  (5)  97%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.3s\n","Downloading  (5)  97%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.4s\n","Downloading  (5)  97%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.5s\n","Downloading  (5)  97%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcusolver-static                                 134.6MB @  17.1MB/s  7.9s\n","[+] 17.6s\n","Downloading  (4)  97%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.7s\n","Downloading  (5)  96%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.8s\n","Downloading  (5)  96%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.9s\n","Downloading  (5)  96%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcufft                                           162.3MB @  19.6MB/s  8.4s\n","[+] 18.0s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.1s\n","Downloading  (5)  94%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.2s\n","Downloading  (5)  95%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.3s\n","Downloading  (5)  95%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.4s\n","Downloading  (5)  95%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.5s\n","Downloading  (5)  95%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.6s\n","Downloading  (5)  95%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.7s\n","Downloading  (5)  95%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.8s\n","Downloading  (5)  95%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.9s\n","Downloading  (5)  95%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.0s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.1s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.2s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.3s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.4s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.5s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.6s\n","Downloading  (5)  96%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.7s\n","Downloading  (5)  97%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.8s\n","Downloading  (5)  97%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.9s\n","Downloading  (5)  97%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.0s\n","Downloading  (5)  97%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.1s\n","Downloading  (5)  97%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.2s\n","Downloading  (5)  98%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.3s\n","Downloading  (5)  98%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnpp-static                                      172.4MB @  15.9MB/s 10.8s\n","[+] 20.4s\n","Downloading  (4)  98%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.5s\n","Downloading  (5)  97%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.6s\n","Downloading  (5)  97%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.7s\n","Downloading  (5)  97%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.8s\n","Downloading  (5)  97%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-nvvp                                          117.9MB @  11.1MB/s 10.7s\n","[+] 20.9s\n","Downloading  (5)  96%\n","Extracting   (5)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ggcc_impl_linux-64                                   68.4MB @  10.8MB/s  6.3s\n","[+] 21.0s\n","Downloading  (5)  95%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.1s\n","Downloading  (5)  95%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.2s\n","Downloading  (5)  95%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.3s\n","Downloading  (5)  96%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.4s\n","Downloading  (5)  96%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.5s\n","Downloading  (5)  96%\n","Extracting   (8)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.6s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.7s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.8s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.9s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.0s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.1s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.2s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.3s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.4s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.5s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.6s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.7s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.8s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.9s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.0s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.1s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.2s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.3s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.4s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.5s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.6s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.7s\n","Downloading  (5)  96%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.8s\n","Downloading  (5)  98%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-nvrtc-static                                   57.0MB @   9.1MB/s  5.8s\n","libcurand                                           46.1MB @  12.8MB/s  3.5s\n","cuda-nvrtc                                          67.2MB @  10.3MB/s  6.3s\n","[+] 23.9s\n","Downloading  (5)  97%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.0s\n","Downloading  (5)  98%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.1s\n","Downloading  (5)  98%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gsysroot_linux-64                                    40.8MB @  12.6MB/s  3.2s\n","[+] 24.2s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.3s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcurand-static                                    46.1MB @  13.0MB/s  3.6s\n","[+] 24.4s\n","Downloading  (5)  97%\n","Extracting  (11)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.5s\n","Downloading  (5)  97%\n","Extracting  (11)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.6s\n","Downloading  (5)  97%\n","Extracting  (11)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.7s\n","Downloading  (5)  98%\n","Extracting  (11)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.8s\n","Downloading  (5)  98%\n","Extracting  (11)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.9s\n","Downloading  (5)  98%\n","Extracting  (11)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.0s\n","Downloading  (5)  98%\n","Extracting  (11)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.1s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.2s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.3s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.4s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.5s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.6s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.7s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.8s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.9s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.0s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.1s\n","Downloading  (5)  98%\n","Extracting  (10)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.2s\n","Downloading  (5)  98%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.3s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.4s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.5s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.6s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.7s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.8s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.9s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.0s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.1s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.2s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.3s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.4s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.5s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.6s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.7s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.8s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnvjitlink-static                                 28.1MB @   5.9MB/s  4.0s\n","libnvjitlink                                        30.6MB @   7.2MB/s  4.0s\n","gds-tools                                           39.6MB @   9.1MB/s  4.1s\n","cuda-nvvm-tools                                     24.3MB @   5.7MB/s  3.5s\n","cuda-nvcc-tools                                     27.4MB @   6.0MB/s  3.7s\n","[+] 27.9s\n","Downloading  (5)  98%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.0s\n","Downloading  (5)  99%\n","Extracting   (9)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.1s\n","Downloading  (5)  99%\n","Extracting  (12)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.2s\n","Downloading  (5)  99%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.3s\n","Downloading  (5)  99%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.4s\n","Downloading  (5)  99%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.5s\n","Downloading  (5)  99%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.6s\n","Downloading  (5) 100%\n","Extracting  (12)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.7s\n","Downloading  (5) 100%\n","Extracting  (12)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-sanitizer-api                                   9.2MB @  11.4MB/s  0.8s\n","[+] 28.8s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.9s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.0s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.1s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.2s\n","Downloading  (5) 100%\n","Extracting  (12)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.3s\n","Downloading  (5) 100%\n","Extracting  (12)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.4s\n","Downloading  (5) 100%\n","Extracting  (12)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ggxx_impl_linux-64                                   13.5MB @   8.6MB/s  1.6s\n","[+] 29.5s\n","Downloading  (4) 100%\n","Extracting  (12)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.6s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.7s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.8s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.9s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.0s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.1s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.2s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.3s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.4s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.5s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.6s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.7s\n","Downloading  (5) 100%\n","Extracting  (13)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibsanitizer                                         6.4MB @   3.4MB/s  2.0s\n","[+] 30.8s\n","Downloading  (4) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.9s\n","Downloading  (4) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.0s\n","Downloading  (4) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.1s\n","Downloading  (4) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.2s\n","Downloading  (4) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.3s\n","Downloading  (5) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.4s\n","Downloading  (5) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.5s\n","Downloading  (5) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.6s\n","Downloading  (5) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.7s\n","Downloading  (5) 100%\n","Extracting  (14)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-nvvm-impl                                      21.5MB @   6.2MB/s  3.9s\n","[+] 31.8s\n","Downloading  (4) 100%\n","Extracting  (15)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-nvcc-dev_linux-64                              14.5MB @   3.6MB/s  4.0s\n","libstdcxx-devel_linux-64                            19.0MB @   4.3MB/s  4.0s\n","cuda-nvdisasm                                        5.5MB @   1.1MB/s  2.4s\n","cuda-cupti-dev                                       4.3MB @ 577.7kB/s  0.6s\n","[+] 31.9s\n","Downloading  (5) 100%\n","Extracting  (15)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcufile-static                                     3.1MB @  13.1MB/s  0.1s\n","libglib                                              3.9MB @  23.2MB/s  0.1s\n","libnvjpeg                                            3.6MB @   3.3MB/s  0.1s\n","[+] 32.0s\n","Downloading  (5) 100%\n","Extracting  (15)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibgcc-devel_linux-64                                2.8MB @  40.4MB/s  0.1s\n","binutils_impl_linux-64                               3.7MB @  20.9MB/s  0.2s\n","nss                                                  2.1MB @  11.4MB/s  0.1s\n","cuda-nvprof                                          2.6MB @  ??.?MB/s  0.1s\n","cuda-cupti                                           1.9MB @  ??.?MB/s  0.1s\n","libnvjpeg-static                                     3.2MB @  ??.?MB/s  0.2s\n","pcre2                                                1.2MB @  11.4MB/s  0.1s\n","kernel-headers_linux-64                              1.4MB @  ??.?MB/s  0.1s\n","[+] 32.1s\n","Downloading  (5) 100%\n","Extracting  (20)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-cudart-static_linux-64                          1.1MB @  ??.?MB/s  0.0s\n","libcufile                                          969.0kB @  ??.?MB/s  0.0s\n","cuda-cccl_linux-64                                   1.1MB @   2.6MB/s  0.1s\n","libxkbcommon                                       837.9kB @   1.9MB/s  0.1s\n","xorg-libx11                                        835.9kB @   2.2MB/s  0.1s\n","libnvfatbin                                        818.2kB @   2.3MB/s  0.1s\n","libiconv                                           790.2kB @   3.3MB/s  0.1s\n","libnvfatbin-static                                 682.8kB @   2.8MB/s  0.1s\n","[+] 32.2s\n","Downloading  (5) 100%\n","Extracting  (29)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gdbus                                               447.6kB @  ??.?MB/s  0.0s\n","gmp                                                460.1kB @  ??.?MB/s  0.0s\n","libnpp-dev                                         452.8kB @  ??.?MB/s  0.0s\n","libxml2-16                                         555.7kB @   1.3MB/s  0.1s\n","xkeyboard-config                                   397.0kB @  ??.?MB/s  0.1s\n","libxcb                                             395.9kB @  ??.?MB/s  0.0s\n","cuda-cudart-dev_linux-64                           382.9kB @  ??.?MB/s  0.0s\n","libfreetype6                                       386.7kB @  ??.?MB/s  0.0s\n","libpng                                             317.7kB @  ??.?MB/s  0.0s\n","cuda-gdb                                           382.7kB @  ??.?MB/s  0.0s\n","[+] 32.3s\n","Downloading  (5) 100%\n","Extracting  (35)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfontconfig                                         265.6kB @  ??.?MB/s  0.1s\n","cuda-cuobjdump                                     246.7kB @  ??.?MB/s  0.1s\n","cuda-cuxxfilt                                      213.8kB @  ??.?MB/s  0.0s\n","libcurand-dev                                      243.8kB @  ??.?MB/s  0.1s\n","nspr                                               228.6kB @  ??.?MB/s  0.1s\n","cuda-cudart_linux-64                               193.6kB @  ??.?MB/s  0.1s\n","expat                                              144.0kB @  ??.?MB/s  0.0s\n","cuda-nvml-dev                                      139.2kB @  ??.?MB/s  0.0s\n","[+] 32.4s\n","Downloading  (5) 100%\n","Extracting  (39)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfreetype                                           173.1kB @  ??.?MB/s  0.1s\n","cuda-documentation                                  91.6kB @  ??.?MB/s  0.0s\n","ocl-icd                                            106.7kB @  ??.?MB/s  0.0s\n","cuda-opencl-dev                                     92.9kB @  ??.?MB/s  0.0s\n","libcublas-dev                                       88.5kB @  ??.?MB/s  0.0s\n","cuda-crt-dev_linux-64                               85.6kB @  ??.?MB/s  0.0s\n","libcusolver-dev                                     58.0kB @  ??.?MB/s  0.0s\n","opencl-headers                                      55.4kB @  ??.?MB/s  0.1s\n","cuda-nvprune                                        66.7kB @  ??.?MB/s  0.1s\n","libcusparse-dev                                     47.4kB @  ??.?MB/s  0.0s\n","libxml2                                             45.4kB @  ??.?MB/s  0.0s\n","[+] 32.5s\n","Downloading  (5) 100%\n","Extracting  (44)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gbinutils_linux-64                                   36.3kB @  ??.?MB/s  0.1s\n","libcufile-dev                                       30.9kB @  ??.?MB/s  0.0s\n","libcufft-dev                                        30.0kB @  ??.?MB/s  0.0s\n","cuda-driver-dev_linux-64                            32.2kB @  ??.?MB/s  0.1s\n","cuda-nvrtc-dev                                      31.3kB @  ??.?MB/s  0.1s\n","libnvjpeg-dev                                       27.8kB @  ??.?MB/s  0.0s\n","gxx_linux-64                                        27.5kB @  ??.?MB/s  0.0s\n","libstdcxx-ng                                        27.3kB @  ??.?MB/s  0.0s\n","gcc_linux-64                                        28.9kB @  ??.?MB/s  0.1s\n","cuda-opencl                                         25.9kB @  ??.?MB/s  0.0s\n","[+] 32.6s\n","Downloading  (5) 100%\n","Extracting  (51)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnvfatbin-dev                                     22.2kB @  ??.?MB/s  0.0s\n","libnvjitlink-dev                                    22.0kB @  ??.?MB/s  0.0s\n","xorg-libxdmcp                                       20.6kB @  ??.?MB/s  0.0s\n","cuda-crt-tools                                      20.2kB @  ??.?MB/s  0.0s\n","cuda-nvtx                                           24.6kB @  ??.?MB/s  0.1s\n","cuda-nvcc-impl                                      19.7kB @  ??.?MB/s  0.0s\n","cuda-nvcc_linux-64                                  20.1kB @  ??.?MB/s  0.0s\n","cuda-nvvm-dev_linux-64                              18.2kB @  ??.?MB/s  0.0s\n","cuda-cudart                                         17.8kB @  ??.?MB/s  0.0s\n","cuda-cudart-dev                                     17.9kB @  ??.?MB/s  0.1s\n","[+] 32.7s\n","Downloading  (5) 100%\n","Extracting  (57)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-profiler-api                                   19.6kB @  ??.?MB/s  0.1s\n","cuda-libraries-dev                                  17.1kB @  ??.?MB/s  0.0s\n","cuda-driver-dev                                     17.3kB @  ??.?MB/s  0.1s\n","cuda-version                                        17.2kB @  ??.?MB/s  0.1s\n","cuda-libraries-static                               17.1kB @  ??.?MB/s  0.0s\n","cuda-libraries                                      17.0kB @  ??.?MB/s  0.0s\n","cuda-visual-tools                                   17.0kB @  ??.?MB/s  0.0s\n","cuda-compiler                                       17.0kB @  ??.?MB/s  0.0s\n","cuda-command-line-tools                             17.0kB @  ??.?MB/s  0.0s\n","[+] 32.8s\n","Downloading  (5) 100%\n","Extracting  (63)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-tools                                          16.9kB @  ??.?MB/s  0.1s\n","cuda-cudart-static                                  17.5kB @  ??.?MB/s  0.2s\n","pthread-stubs                                        8.3kB @  ??.?MB/s  0.0s\n","cuda-nvcc                                           16.9kB @  ??.?MB/s  0.0s\n","xorg-libxau                                         15.3kB @ 304.8kB/s  0.1s\n","libfreetype                                          7.7kB @  ??.?MB/s  0.0s\n","[+] 32.9s\n","Downloading  (1) 100%\n","Extracting  (61)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.0s\n","Downloading  (1) 100%\n","Extracting  (52)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.1s\n","Downloading  (1) 100%\n","Extracting  (32)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.2s\n","Downloading  (1) 100%\n","Extracting  (15)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.3s\n","Downloading  (1) 100%\n","Extracting   (7)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.4s\n","Downloading  (1) 100%\n","Extracting   (6)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.5s\n","Downloading  (1) 100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.6s\n","Downloading  (1) 100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.7s\n","Downloading  (1) 100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.8s\n","Downloading  (1) 100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.9s\n","Downloading  (1) 100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.0s\n","Downloading  (1) 100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.1s\n","Downloading  (1) 100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-toolkit                                         1.9kB @   1.4kB/s  1.3s\n","[+] 34.2s\n","Downloading      100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.3s\n","Downloading      100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.4s\n","Downloading      100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.5s\n","Downloading      100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.6s\n","Downloading      100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.7s\n","Downloading      100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.8s\n","Downloading      100%\n","Extracting   (3)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.9s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.0s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.1s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.2s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.3s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.4s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.5s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.6s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.7s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.8s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.9s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.0s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.1s\n","Downloading      100%\n","Extracting   (2)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.2s\n","Downloading      100%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.3s\n","Downloading      100%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.4s\n","Downloading      100%\n","Extracting   (1)  ⣾  \u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G\u001b[?25hLinking libstdcxx-ng-15.2.0-hdf11a46_16\n","Linking expat-2.7.3-hecca717_0\n","Linking opencl-headers-2025.06.13-h5888daf_0\n","Linking libsanitizer-13.4.0-h2a15e64_16\n","Linking pcre2-10.47-haa7fec5_0\n","Linking nspr-4.38-h29cc59b_0\n","Linking xorg-libxau-1.0.12-hb03c661_1\n","Linking pthread-stubs-0.4-hb9d3cd8_1002\n","Linking xorg-libxdmcp-1.1.5-hb03c661_1\n","Linking libiconv-1.18-h3b78370_2\n","Linking libpng-1.6.53-h421ea60_0\n","Linking gmp-6.3.0-hac33072_2\n","Linking ocl-icd-2.3.3-hb9d3cd8_0\n","Linking nss-3.118-h445c969_0\n","Linking libxcb-1.17.0-h8a09558_0\n","Linking libxml2-16-2.15.1-hca6bf5a_1\n","Linking libglib-2.86.3-h6548e54_0\n","Linking libfreetype6-2.14.1-h73754d4_0\n","Linking xorg-libx11-1.8.12-h4f16b4b_0\n","Linking libxml2-2.15.1-he237659_1\n","Linking dbus-1.16.2-h24cb091_1\n","Linking libfreetype-2.14.1-ha770c72_0\n","Linking xkeyboard-config-2.46-hb03c661_0\n","Linking freetype-2.14.1-ha770c72_0\n","Linking libxkbcommon-1.13.1-hca5e8e5_0\n","Linking fontconfig-2.15.0-h7e30c49_1\n","Linking cuda-documentation-12.4.127-0\n","Linking cuda-version-12.9-3\n","Linking cuda-nvvm-dev_linux-64-12.9.86-0\n","Linking cuda-crt-dev_linux-64-12.9.86-0\n","Linking cuda-driver-dev_linux-64-12.9.79-0\n","Linking cuda-cudart_linux-64-12.9.79-0\n","Linking cuda-cudart-static_linux-64-12.9.79-0\n","Linking cuda-nvcc-dev_linux-64-12.9.86-0\n","Linking libgcc-devel_linux-64-13.4.0-hd1d28cc_116\n","Linking libstdcxx-devel_linux-64-13.4.0-h6963c3b_116\n","Linking kernel-headers_linux-64-5.14.0-he073ed8_3\n","Linking sysroot_linux-64-2.34-h087de78_3\n","Linking cuda-nvvm-tools-12.9.86-0\n","Linking cuda-crt-tools-12.9.86-0\n","Linking cuda-nvvm-impl-12.9.86-0\n","Linking nsight-compute-2025.2.1.3-0\n","Linking cuda-nsight-12.9.79-0\n","\u001b[33m\u001b[1mwarning  libmamba\u001b[m [cuda-nsight-12.9.79-0] The following files were already present in the environment:\n","    - LICENSE\n","Linking cuda-sanitizer-api-12.9.79-1\n","\u001b[33m\u001b[1mwarning  libmamba\u001b[m [cuda-sanitizer-api-12.9.79-1] The following files were already present in the environment:\n","    - LICENSE\n","Linking cuda-nvtx-12.9.79-0\n","Linking cuda-nvdisasm-12.9.88-1\n","Linking cuda-gdb-12.9.79-1\n","Linking cuda-cupti-12.9.79-0\n","Linking cuda-nvprune-12.9.82-1\n","\u001b[33m\u001b[1mwarning  libmamba\u001b[m [cuda-nvprune-12.9.82-1] The following files were already present in the environment:\n","    - LICENSE\n","Linking cuda-cuxxfilt-12.9.82-1\n","\u001b[33m\u001b[1mwarning  libmamba\u001b[m [cuda-cuxxfilt-12.9.82-1] The following files were already present in the environment:\n","    - LICENSE\n","Linking libnvjpeg-12.4.0.76-0\n","Linking libnvjitlink-12.9.86-0\n","Linking libnvfatbin-12.9.82-0\n","Linking libnpp-12.4.1.87-0\n","Linking libcurand-10.3.10.19-0\n","Linking libcufile-1.14.1.1-4\n","Linking libcufft-11.4.1.4-0\n","Linking cuda-opencl-12.9.19-0\n","Linking cuda-nvrtc-12.9.86-0\n","Linking cuda-cccl_linux-64-12.9.27-0\n","Linking libnvjpeg-static-12.4.0.76-0\n","Linking libnvjitlink-static-12.9.86-0\n","Linking libnvfatbin-static-12.9.82-0\n","Linking libnpp-static-12.4.1.87-0\n","Linking libcusparse-static-12.5.10.65-0\n","Linking libcurand-static-10.3.10.19-0\n","Linking libcufile-static-1.14.1.1-4\n","Linking libcufft-static-11.4.1.4-0\n","Linking cuda-nvrtc-static-12.9.86-0\n","Linking cuda-nvml-dev-12.9.79-1\n","Linking cuda-driver-dev-12.9.79-0\n","Linking cuda-cudart-12.9.79-0\n","Linking cuda-cudart-static-12.9.79-0\n","Linking cuda-nvcc-tools-12.9.86-0\n","Linking cuda-cuobjdump-12.9.82-1\n","\u001b[33m\u001b[1mwarning  libmamba\u001b[m [cuda-cuobjdump-12.9.82-1] The following files were already present in the environment:\n","    - LICENSE\n","Linking cuda-nvprof-12.9.79-0\n","\u001b[33m\u001b[1mwarning  libmamba\u001b[m [cuda-nvprof-12.9.79-0] The following files were already present in the environment:\n","    - LICENSE\n","Linking cuda-cupti-dev-12.9.79-0\n","Linking libnvjitlink-dev-12.9.86-0\n","Linking libcusparse-12.5.10.65-0\n","Linking libnvfatbin-dev-12.9.82-0\n","Linking libnpp-dev-12.4.1.87-0\n","Linking libcurand-dev-10.3.10.19-0\n","Linking libcufile-dev-1.14.1.1-4\n","Linking gds-tools-1.14.1.1-4\n","Linking libcufft-dev-11.4.1.4-0\n","Linking cuda-opencl-dev-12.9.19-0\n","Linking libcublas-12.9.1.4-0\n","Linking cuda-nvrtc-dev-12.9.86-0\n","Linking libcublas-static-12.9.1.4-0\n","Linking cuda-nvvp-12.9.79-1\n","\u001b[33m\u001b[1mwarning  libmamba\u001b[m [cuda-nvvp-12.9.79-1] The following files were already present in the environment:\n","    - LICENSE\n","Linking cuda-command-line-tools-12.9.1-0\n","Linking libcusparse-dev-12.5.10.65-0\n","Linking libcusolver-11.7.5.82-0\n","Linking libcusolver-static-11.7.5.82-0\n","Linking libcusolver-dev-11.7.5.82-0\n","Linking cuda-libraries-12.9.1-0\n","Linking cuda-libraries-static-12.9.1-0\n","Linking binutils_impl_linux-64-2.45-default_hfdba357_105\n","Linking gcc_impl_linux-64-13.4.0-hf787b08_16\n","Linking binutils_linux-64-2.45-default_h4852527_105\n","Linking gxx_impl_linux-64-13.4.0-h6a38259_16\n","Linking gcc_linux-64-13.4.0-h0a5b801_17\n","Linking gxx_linux-64-13.4.0-h50488e6_17\n","Linking cuda-cudart-dev_linux-64-12.9.79-0\n","Linking libcublas-dev-12.9.1.4-0\n","Linking cuda-cudart-dev-12.9.79-0\n","Linking cuda-nvcc-impl-12.9.86-0\n","Linking libnvjpeg-dev-12.4.0.76-0\n","Linking cuda-profiler-api-12.9.79-0\n","Linking cuda-nvcc_linux-64-12.9.86-0\n","Linking cuda-libraries-dev-12.9.1-0\n","Linking cuda-nvcc-12.9.86-0\n","Linking cuda-visual-tools-12.9.1-0\n","Linking cuda-compiler-12.9.1-0\n","Linking cuda-tools-12.9.1-0\n","Linking cuda-toolkit-12.4.0-0\n","\n","Transaction finished\n","\n"]}]},{"cell_type":"code","source":["!micromamba run -n partfield pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124"],"metadata":{"id":"Sye0c0ebZFz3","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762605778,"user_tz":480,"elapsed":118468,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"fbfbf50c-1247-4fc9-9c60-fd09b711ba27"},"execution_count":4,"outputs":[{"output_type":"stream","name":"stdout","text":["Looking in indexes: https://download.pytorch.org/whl/cu124\n","Collecting torch==2.4.0\n","  Downloading https://download.pytorch.org/whl/cu124/torch-2.4.0%2Bcu124-cp310-cp310-linux_x86_64.whl (797.3 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m797.3/797.3 MB\u001b[0m \u001b[31m44.0 MB/s\u001b[0m  \u001b[33m0:00:08\u001b[0m\n","\u001b[?25hCollecting torchvision==0.19.0\n","  Downloading https://download.pytorch.org/whl/cu124/torchvision-0.19.0%2Bcu124-cp310-cp310-linux_x86_64.whl (7.1 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.1/7.1 MB\u001b[0m \u001b[31m170.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting torchaudio==2.4.0\n","  Downloading https://download.pytorch.org/whl/cu124/torchaudio-2.4.0%2Bcu124-cp310-cp310-linux_x86_64.whl (3.4 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.4/3.4 MB\u001b[0m \u001b[31m65.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting filelock (from torch==2.4.0)\n","  Downloading filelock-3.20.0-py3-none-any.whl.metadata (2.1 kB)\n","Collecting typing-extensions>=4.8.0 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)\n","Collecting sympy (from torch==2.4.0)\n","  Downloading sympy-1.14.0-py3-none-any.whl.metadata (12 kB)\n","Collecting networkx (from torch==2.4.0)\n","  Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n","Collecting jinja2 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n","Collecting fsspec (from torch==2.4.0)\n","  Downloading fsspec-2025.12.0-py3-none-any.whl.metadata (10 kB)\n","Collecting nvidia-cuda-nvrtc-cu12==12.4.99 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cuda_nvrtc_cu12-12.4.99-py3-none-manylinux2014_x86_64.whl (24.7 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24.7/24.7 MB\u001b[0m \u001b[31m165.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting nvidia-cuda-runtime-cu12==12.4.99 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cuda_runtime_cu12-12.4.99-py3-none-manylinux2014_x86_64.whl (883 kB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m883.4/883.4 kB\u001b[0m \u001b[31m45.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting nvidia-cuda-cupti-cu12==12.4.99 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cuda_cupti_cu12-12.4.99-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.8/13.8 MB\u001b[0m \u001b[31m162.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting nvidia-cudnn-cu12==9.1.0.70 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m43.9 MB/s\u001b[0m  \u001b[33m0:00:07\u001b[0m\n","\u001b[?25hCollecting nvidia-cublas-cu12==12.4.2.65 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cublas_cu12-12.4.2.65-py3-none-manylinux2014_x86_64.whl (363.0 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m363.0/363.0 MB\u001b[0m \u001b[31m64.9 MB/s\u001b[0m  \u001b[33m0:00:04\u001b[0m\n","\u001b[?25hCollecting nvidia-cufft-cu12==11.2.0.44 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cufft_cu12-11.2.0.44-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m211.5/211.5 MB\u001b[0m \u001b[31m77.6 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m\n","\u001b[?25hCollecting nvidia-curand-cu12==10.3.5.119 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_curand_cu12-10.3.5.119-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m56.3/56.3 MB\u001b[0m \u001b[31m168.9 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting nvidia-cusolver-cu12==11.6.0.99 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cusolver_cu12-11.6.0.99-py3-none-manylinux2014_x86_64.whl (128.4 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m128.4/128.4 MB\u001b[0m \u001b[31m147.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting nvidia-cusparse-cu12==12.3.0.142 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_cusparse_cu12-12.3.0.142-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.5/207.5 MB\u001b[0m \u001b[31m78.6 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m\n","\u001b[?25hCollecting nvidia-nccl-cu12==2.20.5 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m176.2/176.2 MB\u001b[0m \u001b[31m68.2 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m\n","\u001b[?25hCollecting nvidia-nvtx-cu12==12.4.99 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_nvtx_cu12-12.4.99-py3-none-manylinux2014_x86_64.whl (99 kB)\n","Collecting nvidia-nvjitlink-cu12==12.4.99 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/cu124/nvidia_nvjitlink_cu12-12.4.99-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.1/21.1 MB\u001b[0m \u001b[31m171.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hCollecting triton==3.0.0 (from torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m209.4/209.4 MB\u001b[0m \u001b[31m75.1 MB/s\u001b[0m  \u001b[33m0:00:02\u001b[0m\n","\u001b[?25hCollecting numpy (from torchvision==0.19.0)\n","  Downloading numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n","Collecting pillow!=8.3.*,>=5.3.0 (from torchvision==0.19.0)\n","  Downloading pillow-12.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (8.8 kB)\n","Collecting MarkupSafe>=2.0 (from jinja2->torch==2.4.0)\n","  Downloading https://download.pytorch.org/whl/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)\n","Collecting mpmath<1.4,>=1.1.0 (from sympy->torch==2.4.0)\n","  Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n","Downloading pillow-12.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.0 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.0/7.0 MB\u001b[0m \u001b[31m82.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading https://download.pytorch.org/whl/typing_extensions-4.15.0-py3-none-any.whl (44 kB)\n","Downloading filelock-3.20.0-py3-none-any.whl (16 kB)\n","Downloading fsspec-2025.12.0-py3-none-any.whl (201 kB)\n","Downloading https://download.pytorch.org/whl/jinja2-3.1.6-py3-none-any.whl (134 kB)\n","Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m97.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.8/16.8 MB\u001b[0m \u001b[31m236.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading sympy-1.14.0-py3-none-any.whl (6.3 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m185.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m536.2/536.2 kB\u001b[0m \u001b[31m25.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hInstalling collected packages: mpmath, typing-extensions, sympy, pillow, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, triton, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, torch, torchvision, torchaudio\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m26/26\u001b[0m [torchaudio]\n","\u001b[1A\u001b[2KSuccessfully installed MarkupSafe-2.1.5 filelock-3.20.0 fsspec-2025.12.0 jinja2-3.1.6 mpmath-1.3.0 networkx-3.4.2 numpy-2.2.6 nvidia-cublas-cu12-12.4.2.65 nvidia-cuda-cupti-cu12-12.4.99 nvidia-cuda-nvrtc-cu12-12.4.99 nvidia-cuda-runtime-cu12-12.4.99 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.0.44 nvidia-curand-cu12-10.3.5.119 nvidia-cusolver-cu12-11.6.0.99 nvidia-cusparse-cu12-12.3.0.142 nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.4.99 nvidia-nvtx-cu12-12.4.99 pillow-12.0.0 sympy-1.14.0 torch-2.4.0+cu124 torchaudio-2.4.0+cu124 torchvision-0.19.0+cu124 triton-3.0.0 typing-extensions-4.15.0\n"]}]},{"cell_type":"code","source":["!micromamba run -n partfield pip install lightning==2.2 h5py yacs trimesh scikit-image loguru boto3"],"metadata":{"id":"6L04Vu6LL-Q9","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762629843,"user_tz":480,"elapsed":24063,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"0d2795d5-9611-48a5-cd3d-2bf7e14f134c"},"execution_count":5,"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting lightning==2.2\n","  Downloading lightning-2.2.0-py3-none-any.whl.metadata (56 kB)\n","Collecting h5py\n","  Downloading h5py-3.15.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (3.0 kB)\n","Collecting yacs\n","  Downloading yacs-0.1.8-py3-none-any.whl.metadata (639 bytes)\n","Collecting trimesh\n","  Downloading trimesh-4.10.1-py3-none-any.whl.metadata (13 kB)\n","Collecting scikit-image\n","  Downloading scikit_image-0.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)\n","Collecting loguru\n","  Downloading loguru-0.7.3-py3-none-any.whl.metadata (22 kB)\n","Collecting boto3\n","  Downloading boto3-1.42.23-py3-none-any.whl.metadata (6.8 kB)\n","Collecting PyYAML<8.0,>=5.4 (from lightning==2.2)\n","  Downloading pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)\n","Collecting fsspec<2025.0,>=2022.5.0 (from fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n","Collecting lightning-utilities<2.0,>=0.8.0 (from lightning==2.2)\n","  Downloading lightning_utilities-0.15.2-py3-none-any.whl.metadata (5.7 kB)\n","Requirement already satisfied: numpy<3.0,>=1.17.2 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from lightning==2.2) (2.2.6)\n","Collecting packaging<25.0,>=20.0 (from lightning==2.2)\n","  Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n","Requirement already satisfied: torch<4.0,>=1.13.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from lightning==2.2) (2.4.0+cu124)\n","Collecting torchmetrics<3.0,>=0.7.0 (from lightning==2.2)\n","  Downloading torchmetrics-1.8.2-py3-none-any.whl.metadata (22 kB)\n","Collecting tqdm<6.0,>=4.57.0 (from lightning==2.2)\n","  Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n","Requirement already satisfied: typing-extensions<6.0,>=4.4.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from lightning==2.2) (4.15.0)\n","Collecting pytorch-lightning (from lightning==2.2)\n","  Downloading pytorch_lightning-2.6.0-py3-none-any.whl.metadata (21 kB)\n","Collecting aiohttp!=4.0.0a0,!=4.0.0a1 (from fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading aiohttp-3.13.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.1 kB)\n","Requirement already satisfied: setuptools in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from lightning-utilities<2.0,>=0.8.0->lightning==2.2) (80.9.0)\n","Requirement already satisfied: filelock in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (3.20.0)\n","Requirement already satisfied: sympy in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (1.14.0)\n","Requirement already satisfied: networkx in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (3.4.2)\n","Requirement already satisfied: jinja2 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (3.1.6)\n","Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.4.99 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (12.4.99)\n","Requirement already satisfied: nvidia-cuda-runtime-cu12==12.4.99 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (12.4.99)\n","Requirement already satisfied: nvidia-cuda-cupti-cu12==12.4.99 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (12.4.99)\n","Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (9.1.0.70)\n","Requirement already satisfied: nvidia-cublas-cu12==12.4.2.65 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (12.4.2.65)\n","Requirement already satisfied: nvidia-cufft-cu12==11.2.0.44 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (11.2.0.44)\n","Requirement already satisfied: nvidia-curand-cu12==10.3.5.119 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (10.3.5.119)\n","Requirement already satisfied: nvidia-cusolver-cu12==11.6.0.99 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (11.6.0.99)\n","Requirement already satisfied: nvidia-cusparse-cu12==12.3.0.142 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (12.3.0.142)\n","Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (2.20.5)\n","Requirement already satisfied: nvidia-nvtx-cu12==12.4.99 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (12.4.99)\n","Requirement already satisfied: nvidia-nvjitlink-cu12==12.4.99 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (12.4.99)\n","Requirement already satisfied: triton==3.0.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from torch<4.0,>=1.13.0->lightning==2.2) (3.0.0)\n","Collecting scipy>=1.11.4 (from scikit-image)\n","  Downloading scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)\n","Requirement already satisfied: pillow>=10.1 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from scikit-image) (12.0.0)\n","Collecting imageio!=2.35.0,>=2.33 (from scikit-image)\n","  Downloading imageio-2.37.2-py3-none-any.whl.metadata (9.7 kB)\n","Collecting tifffile>=2022.8.12 (from scikit-image)\n","  Downloading tifffile-2025.5.10-py3-none-any.whl.metadata (31 kB)\n","Collecting lazy-loader>=0.4 (from scikit-image)\n","  Downloading lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)\n","Collecting botocore<1.43.0,>=1.42.23 (from boto3)\n","  Downloading botocore-1.42.23-py3-none-any.whl.metadata (5.9 kB)\n","Collecting jmespath<2.0.0,>=0.7.1 (from boto3)\n","  Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)\n","Collecting s3transfer<0.17.0,>=0.16.0 (from boto3)\n","  Downloading s3transfer-0.16.0-py3-none-any.whl.metadata (1.7 kB)\n","Collecting python-dateutil<3.0.0,>=2.1 (from botocore<1.43.0,>=1.42.23->boto3)\n","  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)\n","Collecting urllib3!=2.2.0,<3,>=1.25.4 (from botocore<1.43.0,>=1.42.23->boto3)\n","  Downloading urllib3-2.6.2-py3-none-any.whl.metadata (6.6 kB)\n","Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore<1.43.0,>=1.42.23->boto3)\n","  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)\n","Collecting aiohappyeyeballs>=2.5.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl.metadata (5.9 kB)\n","Collecting aiosignal>=1.4.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)\n","Collecting async-timeout<6.0,>=4.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading async_timeout-5.0.1-py3-none-any.whl.metadata (5.1 kB)\n","Collecting attrs>=17.3.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading attrs-25.4.0-py3-none-any.whl.metadata (10 kB)\n","Collecting frozenlist>=1.1.1 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (20 kB)\n","Collecting multidict<7.0,>=4.5 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading multidict-6.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (5.3 kB)\n","Collecting propcache>=0.2.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (13 kB)\n","Collecting yarl<2.0,>=1.17.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (75 kB)\n","Collecting idna>=2.0 (from yarl<2.0,>=1.17.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2025.0,>=2022.5.0->lightning==2.2)\n","  Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB)\n","Requirement already satisfied: MarkupSafe>=2.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from jinja2->torch<4.0,>=1.13.0->lightning==2.2) (2.1.5)\n","Requirement already satisfied: mpmath<1.4,>=1.1.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from sympy->torch<4.0,>=1.13.0->lightning==2.2) (1.3.0)\n","Downloading lightning-2.2.0-py3-none-any.whl (2.1 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m90.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading fsspec-2024.12.0-py3-none-any.whl (183 kB)\n","Downloading lightning_utilities-0.15.2-py3-none-any.whl (29 kB)\n","Downloading packaging-24.2-py3-none-any.whl (65 kB)\n","Downloading pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (770 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m770.3/770.3 kB\u001b[0m \u001b[31m45.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading torchmetrics-1.8.2-py3-none-any.whl (983 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m983.2/983.2 kB\u001b[0m \u001b[31m58.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading tqdm-4.67.1-py3-none-any.whl (78 kB)\n","Downloading h5py-3.15.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.7 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m33.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading yacs-0.1.8-py3-none-any.whl (14 kB)\n","Downloading trimesh-4.10.1-py3-none-any.whl (737 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m737.0/737.0 kB\u001b[0m \u001b[31m42.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading scikit_image-0.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14.8/14.8 MB\u001b[0m \u001b[31m164.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading loguru-0.7.3-py3-none-any.whl (61 kB)\n","Downloading boto3-1.42.23-py3-none-any.whl (140 kB)\n","Downloading botocore-1.42.23-py3-none-any.whl (14.6 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14.6/14.6 MB\u001b[0m \u001b[31m241.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading jmespath-1.0.1-py3-none-any.whl (20 kB)\n","Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\n","Downloading s3transfer-0.16.0-py3-none-any.whl (86 kB)\n","Downloading urllib3-2.6.2-py3-none-any.whl (131 kB)\n","Downloading aiohttp-3.13.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.7 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m95.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading async_timeout-5.0.1-py3-none-any.whl (6.2 kB)\n","Downloading multidict-6.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (241 kB)\n","Downloading yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (346 kB)\n","Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB)\n","Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)\n","Downloading attrs-25.4.0-py3-none-any.whl (67 kB)\n","Downloading frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (219 kB)\n","Downloading idna-3.11-py3-none-any.whl (71 kB)\n","Downloading imageio-2.37.2-py3-none-any.whl (317 kB)\n","Downloading lazy_loader-0.4-py3-none-any.whl (12 kB)\n","Downloading propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (196 kB)\n","Downloading scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (37.7 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m37.7/37.7 MB\u001b[0m \u001b[31m79.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading six-1.17.0-py2.py3-none-any.whl (11 kB)\n","Downloading tifffile-2025.5.10-py3-none-any.whl (226 kB)\n","Downloading pytorch_lightning-2.6.0-py3-none-any.whl (849 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m849.5/849.5 kB\u001b[0m \u001b[31m47.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hInstalling collected packages: urllib3, trimesh, tqdm, tifffile, six, scipy, PyYAML, propcache, packaging, multidict, loguru, jmespath, imageio, idna, h5py, fsspec, frozenlist, attrs, async-timeout, aiohappyeyeballs, yarl, yacs, python-dateutil, lightning-utilities, lazy-loader, aiosignal, scikit-image, botocore, aiohttp, torchmetrics, s3transfer, pytorch-lightning, boto3, lightning\n","\u001b[2K  Attempting uninstall: fsspec\n","\u001b[2K    Found existing installation: fsspec 2025.12.0\n","\u001b[2K    Uninstalling fsspec-2025.12.0:\n","\u001b[2K      Successfully uninstalled fsspec-2025.12.0\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m34/34\u001b[0m [lightning]\n","\u001b[1A\u001b[2KSuccessfully installed PyYAML-6.0.3 aiohappyeyeballs-2.6.1 aiohttp-3.13.3 aiosignal-1.4.0 async-timeout-5.0.1 attrs-25.4.0 boto3-1.42.23 botocore-1.42.23 frozenlist-1.8.0 fsspec-2024.12.0 h5py-3.15.1 idna-3.11 imageio-2.37.2 jmespath-1.0.1 lazy-loader-0.4 lightning-2.2.0 lightning-utilities-0.15.2 loguru-0.7.3 multidict-6.7.0 packaging-24.2 propcache-0.4.1 python-dateutil-2.9.0.post0 pytorch-lightning-2.6.0 s3transfer-0.16.0 scikit-image-0.25.2 scipy-1.15.3 six-1.17.0 tifffile-2025.5.10 torchmetrics-1.8.2 tqdm-4.67.1 trimesh-4.10.1 urllib3-2.6.2 yacs-0.1.8 yarl-1.22.0\n"]}]},{"cell_type":"code","source":["!micromamba run -n partfield pip install mesh2sdf tetgen pymeshlab plyfile einops libigl polyscope potpourri3d simple_parsing arrgh open3d"],"metadata":{"id":"zYDkTC6VL-Op","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762706093,"user_tz":480,"elapsed":76247,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"ea0a4dfa-cfbc-47f0-d388-604957d3e9d5"},"execution_count":6,"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting mesh2sdf\n","  Downloading mesh2sdf-1.1.0.tar.gz (18 kB)\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 tetgen\n","  Downloading tetgen-0.7.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (9.7 kB)\n","Collecting pymeshlab\n","  Downloading pymeshlab-2025.7-cp310-cp310-manylinux_2_35_x86_64.whl.metadata (3.8 kB)\n","Collecting plyfile\n","  Downloading plyfile-1.1.3-py3-none-any.whl.metadata (43 kB)\n","Collecting einops\n","  Downloading einops-0.8.1-py3-none-any.whl.metadata (13 kB)\n","Collecting libigl\n","  Downloading libigl-2.6.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (4.8 kB)\n","Collecting polyscope\n","  Downloading polyscope-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)\n","Collecting potpourri3d\n","  Downloading potpourri3d-1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (29 kB)\n","Collecting simple_parsing\n","  Downloading simple_parsing-0.1.7-py3-none-any.whl.metadata (7.3 kB)\n","Collecting arrgh\n","  Downloading arrgh-1.0.0-py3-none-any.whl.metadata (5.0 kB)\n","Collecting open3d\n","  Downloading open3d-0.19.0-cp310-cp310-manylinux_2_31_x86_64.whl.metadata (4.3 kB)\n","Requirement already satisfied: numpy in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from mesh2sdf) (2.2.6)\n","Requirement already satisfied: trimesh in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from mesh2sdf) (4.10.1)\n","Requirement already satisfied: scikit-image in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from mesh2sdf) (0.25.2)\n","Collecting pyvista>=0.31.0 (from tetgen)\n","  Downloading pyvista-0.46.4-py3-none-any.whl.metadata (15 kB)\n","Requirement already satisfied: scipy in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from libigl) (1.15.3)\n","Collecting docstring-parser<1.0,>=0.15 (from simple_parsing)\n","  Downloading docstring_parser-0.17.0-py3-none-any.whl.metadata (3.5 kB)\n","Requirement already satisfied: typing-extensions>=4.5.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from simple_parsing) (4.15.0)\n","Collecting dash>=2.6.0 (from open3d)\n","  Downloading dash-3.3.0-py3-none-any.whl.metadata (11 kB)\n","Collecting werkzeug>=3.0.0 (from open3d)\n","  Downloading werkzeug-3.1.4-py3-none-any.whl.metadata (4.0 kB)\n","Collecting flask>=3.0.0 (from open3d)\n","  Downloading flask-3.1.2-py3-none-any.whl.metadata (3.2 kB)\n","Collecting nbformat>=5.7.0 (from open3d)\n","  Downloading nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB)\n","Collecting configargparse (from open3d)\n","  Downloading configargparse-1.7.1-py3-none-any.whl.metadata (24 kB)\n","Collecting ipywidgets>=8.0.4 (from open3d)\n","  Downloading ipywidgets-8.1.8-py3-none-any.whl.metadata (2.4 kB)\n","Collecting addict (from open3d)\n","  Downloading addict-2.4.0-py3-none-any.whl.metadata (1.0 kB)\n","Requirement already satisfied: pillow>=9.3.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from open3d) (12.0.0)\n","Collecting matplotlib>=3 (from open3d)\n","  Downloading matplotlib-3.10.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (52 kB)\n","Collecting pandas>=1.0 (from open3d)\n","  Downloading pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (91 kB)\n","Requirement already satisfied: pyyaml>=5.4.1 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from open3d) (6.0.3)\n","Collecting scikit-learn>=0.21 (from open3d)\n","  Downloading scikit_learn-1.7.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (11 kB)\n","Requirement already satisfied: tqdm in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from open3d) (4.67.1)\n","Collecting pyquaternion (from open3d)\n","  Downloading pyquaternion-0.9.9-py3-none-any.whl.metadata (1.4 kB)\n","Collecting plotly>=5.0.0 (from dash>=2.6.0->open3d)\n","  Downloading plotly-6.5.0-py3-none-any.whl.metadata (8.5 kB)\n","Collecting importlib-metadata (from dash>=2.6.0->open3d)\n","  Downloading importlib_metadata-8.7.1-py3-none-any.whl.metadata (4.7 kB)\n","Collecting requests (from dash>=2.6.0->open3d)\n","  Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)\n","Collecting retrying (from dash>=2.6.0->open3d)\n","  Downloading retrying-1.4.2-py3-none-any.whl.metadata (5.5 kB)\n","Collecting nest-asyncio (from dash>=2.6.0->open3d)\n","  Downloading nest_asyncio-1.6.0-py3-none-any.whl.metadata (2.8 kB)\n","Requirement already satisfied: setuptools in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from dash>=2.6.0->open3d) (80.9.0)\n","Collecting blinker>=1.9.0 (from flask>=3.0.0->open3d)\n","  Downloading blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)\n","Collecting click>=8.1.3 (from flask>=3.0.0->open3d)\n","  Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB)\n","Collecting itsdangerous>=2.2.0 (from flask>=3.0.0->open3d)\n","  Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)\n","Requirement already satisfied: jinja2>=3.1.2 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from flask>=3.0.0->open3d) (3.1.6)\n","Requirement already satisfied: markupsafe>=2.1.1 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from flask>=3.0.0->open3d) (2.1.5)\n","Collecting comm>=0.1.3 (from ipywidgets>=8.0.4->open3d)\n","  Downloading comm-0.2.3-py3-none-any.whl.metadata (3.7 kB)\n","Collecting ipython>=6.1.0 (from ipywidgets>=8.0.4->open3d)\n","  Downloading ipython-8.38.0-py3-none-any.whl.metadata (5.1 kB)\n","Collecting traitlets>=4.3.1 (from ipywidgets>=8.0.4->open3d)\n","  Downloading traitlets-5.14.3-py3-none-any.whl.metadata (10 kB)\n","Collecting widgetsnbextension~=4.0.14 (from ipywidgets>=8.0.4->open3d)\n","  Downloading widgetsnbextension-4.0.15-py3-none-any.whl.metadata (1.6 kB)\n","Collecting jupyterlab_widgets~=3.0.15 (from ipywidgets>=8.0.4->open3d)\n","  Downloading jupyterlab_widgets-3.0.16-py3-none-any.whl.metadata (20 kB)\n","Collecting decorator (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading decorator-5.2.1-py3-none-any.whl.metadata (3.9 kB)\n","Collecting exceptiongroup (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading exceptiongroup-1.3.1-py3-none-any.whl.metadata (6.7 kB)\n","Collecting jedi>=0.16 (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)\n","Collecting matplotlib-inline (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading matplotlib_inline-0.2.1-py3-none-any.whl.metadata (2.3 kB)\n","Collecting pexpect>4.3 (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading pexpect-4.9.0-py2.py3-none-any.whl.metadata (2.5 kB)\n","Collecting prompt_toolkit<3.1.0,>=3.0.41 (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading prompt_toolkit-3.0.52-py3-none-any.whl.metadata (6.4 kB)\n","Collecting pygments>=2.4.0 (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB)\n","Collecting stack_data (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading stack_data-0.6.3-py3-none-any.whl.metadata (18 kB)\n","Collecting wcwidth (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading wcwidth-0.2.14-py2.py3-none-any.whl.metadata (15 kB)\n","Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.16->ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading parso-0.8.5-py2.py3-none-any.whl.metadata (8.3 kB)\n","Collecting contourpy>=1.0.1 (from matplotlib>=3->open3d)\n","  Downloading contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.5 kB)\n","Collecting cycler>=0.10 (from matplotlib>=3->open3d)\n","  Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)\n","Collecting fonttools>=4.22.0 (from matplotlib>=3->open3d)\n","  Downloading fonttools-4.61.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (114 kB)\n","Collecting kiwisolver>=1.3.1 (from matplotlib>=3->open3d)\n","  Downloading kiwisolver-1.4.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (6.3 kB)\n","Requirement already satisfied: packaging>=20.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=3->open3d) (24.2)\n","Collecting pyparsing>=3 (from matplotlib>=3->open3d)\n","  Downloading pyparsing-3.3.1-py3-none-any.whl.metadata (5.6 kB)\n","Requirement already satisfied: python-dateutil>=2.7 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=3->open3d) (2.9.0.post0)\n","Collecting fastjsonschema>=2.15 (from nbformat>=5.7.0->open3d)\n","  Downloading fastjsonschema-2.21.2-py3-none-any.whl.metadata (2.3 kB)\n","Collecting jsonschema>=2.6 (from nbformat>=5.7.0->open3d)\n","  Downloading jsonschema-4.25.1-py3-none-any.whl.metadata (7.6 kB)\n","Collecting jupyter-core!=5.0.*,>=4.12 (from nbformat>=5.7.0->open3d)\n","  Downloading jupyter_core-5.9.1-py3-none-any.whl.metadata (1.5 kB)\n","Requirement already satisfied: attrs>=22.2.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from jsonschema>=2.6->nbformat>=5.7.0->open3d) (25.4.0)\n","Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=2.6->nbformat>=5.7.0->open3d)\n","  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)\n","Collecting referencing>=0.28.4 (from jsonschema>=2.6->nbformat>=5.7.0->open3d)\n","  Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB)\n","Collecting rpds-py>=0.7.1 (from jsonschema>=2.6->nbformat>=5.7.0->open3d)\n","  Downloading rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)\n","Collecting platformdirs>=2.5 (from jupyter-core!=5.0.*,>=4.12->nbformat>=5.7.0->open3d)\n","  Downloading platformdirs-4.5.1-py3-none-any.whl.metadata (12 kB)\n","Collecting pytz>=2020.1 (from pandas>=1.0->open3d)\n","  Downloading pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)\n","Collecting tzdata>=2022.7 (from pandas>=1.0->open3d)\n","  Downloading tzdata-2025.3-py2.py3-none-any.whl.metadata (1.4 kB)\n","Collecting ptyprocess>=0.5 (from pexpect>4.3->ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading ptyprocess-0.7.0-py2.py3-none-any.whl.metadata (1.3 kB)\n","Collecting narwhals>=1.15.1 (from plotly>=5.0.0->dash>=2.6.0->open3d)\n","  Downloading narwhals-2.15.0-py3-none-any.whl.metadata (13 kB)\n","Requirement already satisfied: six>=1.5 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib>=3->open3d) (1.17.0)\n","Collecting pooch (from pyvista>=0.31.0->tetgen)\n","  Downloading pooch-1.8.2-py3-none-any.whl.metadata (10 kB)\n","Collecting scooby>=0.5.1 (from pyvista>=0.31.0->tetgen)\n","  Downloading scooby-0.11.0-py3-none-any.whl.metadata (15 kB)\n","Collecting vtk!=9.4.0 (from pyvista>=0.31.0->tetgen)\n","  Downloading vtk-9.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (5.6 kB)\n","Collecting joblib>=1.2.0 (from scikit-learn>=0.21->open3d)\n","  Downloading joblib-1.5.3-py3-none-any.whl.metadata (5.5 kB)\n","Collecting threadpoolctl>=3.1.0 (from scikit-learn>=0.21->open3d)\n","  Downloading threadpoolctl-3.6.0-py3-none-any.whl.metadata (13 kB)\n","Collecting zipp>=3.20 (from importlib-metadata->dash>=2.6.0->open3d)\n","  Downloading zipp-3.23.0-py3-none-any.whl.metadata (3.6 kB)\n","Collecting charset_normalizer<4,>=2 (from requests->dash>=2.6.0->open3d)\n","  Downloading charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (37 kB)\n","Requirement already satisfied: idna<4,>=2.5 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from requests->dash>=2.6.0->open3d) (3.11)\n","Requirement already satisfied: urllib3<3,>=1.21.1 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from requests->dash>=2.6.0->open3d) (2.6.2)\n","Collecting certifi>=2017.4.17 (from requests->dash>=2.6.0->open3d)\n","  Downloading certifi-2026.1.4-py3-none-any.whl.metadata (2.5 kB)\n","Requirement already satisfied: networkx>=3.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from scikit-image->mesh2sdf) (3.4.2)\n","Requirement already satisfied: imageio!=2.35.0,>=2.33 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from scikit-image->mesh2sdf) (2.37.2)\n","Requirement already satisfied: tifffile>=2022.8.12 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from scikit-image->mesh2sdf) (2025.5.10)\n","Requirement already satisfied: lazy-loader>=0.4 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from scikit-image->mesh2sdf) (0.4)\n","Collecting executing>=1.2.0 (from stack_data->ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading executing-2.2.1-py2.py3-none-any.whl.metadata (8.9 kB)\n","Collecting asttokens>=2.1.0 (from stack_data->ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading asttokens-3.0.1-py3-none-any.whl.metadata (4.9 kB)\n","Collecting pure-eval (from stack_data->ipython>=6.1.0->ipywidgets>=8.0.4->open3d)\n","  Downloading pure_eval-0.2.3-py3-none-any.whl.metadata (6.3 kB)\n","Downloading tetgen-0.7.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.2 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m3.7 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading pymeshlab-2025.7-cp310-cp310-manylinux_2_35_x86_64.whl (105.8 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m105.8/105.8 MB\u001b[0m \u001b[31m29.7 MB/s\u001b[0m  \u001b[33m0:00:03\u001b[0m\n","\u001b[?25hDownloading plyfile-1.1.3-py3-none-any.whl (36 kB)\n","Downloading einops-0.8.1-py3-none-any.whl (64 kB)\n","Downloading libigl-2.6.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.4 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.4/13.4 MB\u001b[0m \u001b[31m71.2 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading polyscope-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.8/7.8 MB\u001b[0m \u001b[31m2.0 MB/s\u001b[0m  \u001b[33m0:00:03\u001b[0m\n","\u001b[?25hDownloading potpourri3d-1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.5/3.5 MB\u001b[0m \u001b[31m5.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading simple_parsing-0.1.7-py3-none-any.whl (112 kB)\n","Downloading docstring_parser-0.17.0-py3-none-any.whl (36 kB)\n","Downloading arrgh-1.0.0-py3-none-any.whl (5.9 kB)\n","Downloading open3d-0.19.0-cp310-cp310-manylinux_2_31_x86_64.whl (447.7 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m447.7/447.7 MB\u001b[0m \u001b[31m40.8 MB/s\u001b[0m  \u001b[33m0:00:08\u001b[0m\n","\u001b[?25hDownloading dash-3.3.0-py3-none-any.whl (7.9 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.9/7.9 MB\u001b[0m \u001b[31m122.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading flask-3.1.2-py3-none-any.whl (103 kB)\n","Downloading werkzeug-3.1.4-py3-none-any.whl (224 kB)\n","Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)\n","Downloading click-8.3.1-py3-none-any.whl (108 kB)\n","Downloading ipywidgets-8.1.8-py3-none-any.whl (139 kB)\n","Downloading jupyterlab_widgets-3.0.16-py3-none-any.whl (914 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m914.9/914.9 kB\u001b[0m \u001b[31m52.9 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading widgetsnbextension-4.0.15-py3-none-any.whl (2.2 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m101.9 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading comm-0.2.3-py3-none-any.whl (7.3 kB)\n","Downloading ipython-8.38.0-py3-none-any.whl (831 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m831.8/831.8 kB\u001b[0m \u001b[31m45.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading prompt_toolkit-3.0.52-py3-none-any.whl (391 kB)\n","Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)\n","Downloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m85.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading parso-0.8.5-py2.py3-none-any.whl (106 kB)\n","Downloading matplotlib-3.10.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.7 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.7/8.7 MB\u001b[0m \u001b[31m113.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (325 kB)\n","Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB)\n","Downloading fonttools-4.61.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.9 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.9/4.9 MB\u001b[0m \u001b[31m20.6 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading kiwisolver-1.4.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m85.0 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading nbformat-5.10.4-py3-none-any.whl (78 kB)\n","Downloading fastjsonschema-2.21.2-py3-none-any.whl (24 kB)\n","Downloading jsonschema-4.25.1-py3-none-any.whl (90 kB)\n","Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)\n","Downloading jupyter_core-5.9.1-py3-none-any.whl (29 kB)\n","Downloading pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (12.8 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.8/12.8 MB\u001b[0m \u001b[31m54.4 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading pexpect-4.9.0-py2.py3-none-any.whl (63 kB)\n","Downloading platformdirs-4.5.1-py3-none-any.whl (18 kB)\n","Downloading plotly-6.5.0-py3-none-any.whl (9.9 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.9/9.9 MB\u001b[0m \u001b[31m116.5 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading narwhals-2.15.0-py3-none-any.whl (432 kB)\n","Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)\n","Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m75.1 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading pyparsing-3.3.1-py3-none-any.whl (121 kB)\n","Downloading pytz-2025.2-py2.py3-none-any.whl (509 kB)\n","Downloading pyvista-0.46.4-py3-none-any.whl (2.4 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.4/2.4 MB\u001b[0m \u001b[31m51.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading vtk-9.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (112.2 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.2/112.2 MB\u001b[0m \u001b[31m81.4 MB/s\u001b[0m  \u001b[33m0:00:01\u001b[0m\n","\u001b[?25hDownloading referencing-0.37.0-py3-none-any.whl (26 kB)\n","Downloading rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (390 kB)\n","Downloading scikit_learn-1.7.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (9.7 MB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.7/9.7 MB\u001b[0m \u001b[31m60.8 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hDownloading joblib-1.5.3-py3-none-any.whl (309 kB)\n","Downloading scooby-0.11.0-py3-none-any.whl (19 kB)\n","Downloading threadpoolctl-3.6.0-py3-none-any.whl (18 kB)\n","Downloading traitlets-5.14.3-py3-none-any.whl (85 kB)\n","Downloading tzdata-2025.3-py2.py3-none-any.whl (348 kB)\n","Downloading addict-2.4.0-py3-none-any.whl (3.8 kB)\n","Downloading configargparse-1.7.1-py3-none-any.whl (25 kB)\n","Downloading decorator-5.2.1-py3-none-any.whl (9.2 kB)\n","Downloading exceptiongroup-1.3.1-py3-none-any.whl (16 kB)\n","Downloading importlib_metadata-8.7.1-py3-none-any.whl (27 kB)\n","Downloading zipp-3.23.0-py3-none-any.whl (10 kB)\n","Downloading matplotlib_inline-0.2.1-py3-none-any.whl (9.5 kB)\n","Downloading nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB)\n","Downloading pooch-1.8.2-py3-none-any.whl (64 kB)\n","Downloading requests-2.32.5-py3-none-any.whl (64 kB)\n","Downloading charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (153 kB)\n","Downloading certifi-2026.1.4-py3-none-any.whl (152 kB)\n","Downloading pyquaternion-0.9.9-py3-none-any.whl (14 kB)\n","Downloading retrying-1.4.2-py3-none-any.whl (10 kB)\n","Downloading stack_data-0.6.3-py3-none-any.whl (24 kB)\n","Downloading asttokens-3.0.1-py3-none-any.whl (27 kB)\n","Downloading executing-2.2.1-py2.py3-none-any.whl (28 kB)\n","Downloading pure_eval-0.2.3-py3-none-any.whl (11 kB)\n","Downloading wcwidth-0.2.14-py2.py3-none-any.whl (37 kB)\n","Building wheels for collected packages: mesh2sdf\n","  Building wheel for mesh2sdf (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n","  Created wheel for mesh2sdf: filename=mesh2sdf-1.1.0-cp310-cp310-linux_x86_64.whl size=89588 sha256=ba9f9e28ac03a2f635cf237f1049ed8459d97fd2e72b6dcfb8800257f58c26ec\n","  Stored in directory: /root/.cache/pip/wheels/c5/14/7d/f9b1364edbc49155db8aaad352aa621c44f62591753d01c6d7\n","Successfully built mesh2sdf\n","Installing collected packages: pytz, pure-eval, ptyprocess, fastjsonschema, addict, zipp, widgetsnbextension, werkzeug, wcwidth, tzdata, traitlets, threadpoolctl, scooby, rpds-py, retrying, pyquaternion, pyparsing, pymeshlab, pygments, polyscope, plyfile, platformdirs, pexpect, parso, nest-asyncio, narwhals, kiwisolver, jupyterlab_widgets, joblib, itsdangerous, fonttools, executing, exceptiongroup, einops, docstring-parser, decorator, cycler, contourpy, configargparse, comm, click, charset_normalizer, certifi, blinker, asttokens, arrgh, stack_data, simple_parsing, scikit-learn, requests, referencing, prompt_toolkit, potpourri3d, plotly, pandas, matplotlib-inline, matplotlib, libigl, jupyter-core, jedi, importlib-metadata, flask, vtk, pooch, mesh2sdf, jsonschema-specifications, ipython, dash, pyvista, jsonschema, ipywidgets, tetgen, nbformat, open3d\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m74/74\u001b[0m [open3d]\n","\u001b[1A\u001b[2KSuccessfully installed addict-2.4.0 arrgh-1.0.0 asttokens-3.0.1 blinker-1.9.0 certifi-2026.1.4 charset_normalizer-3.4.4 click-8.3.1 comm-0.2.3 configargparse-1.7.1 contourpy-1.3.2 cycler-0.12.1 dash-3.3.0 decorator-5.2.1 docstring-parser-0.17.0 einops-0.8.1 exceptiongroup-1.3.1 executing-2.2.1 fastjsonschema-2.21.2 flask-3.1.2 fonttools-4.61.1 importlib-metadata-8.7.1 ipython-8.38.0 ipywidgets-8.1.8 itsdangerous-2.2.0 jedi-0.19.2 joblib-1.5.3 jsonschema-4.25.1 jsonschema-specifications-2025.9.1 jupyter-core-5.9.1 jupyterlab_widgets-3.0.16 kiwisolver-1.4.9 libigl-2.6.1 matplotlib-3.10.8 matplotlib-inline-0.2.1 mesh2sdf-1.1.0 narwhals-2.15.0 nbformat-5.10.4 nest-asyncio-1.6.0 open3d-0.19.0 pandas-2.3.3 parso-0.8.5 pexpect-4.9.0 platformdirs-4.5.1 plotly-6.5.0 plyfile-1.1.3 polyscope-2.5.0 pooch-1.8.2 potpourri3d-1.3 prompt_toolkit-3.0.52 ptyprocess-0.7.0 pure-eval-0.2.3 pygments-2.19.2 pymeshlab-2025.7 pyparsing-3.3.1 pyquaternion-0.9.9 pytz-2025.2 pyvista-0.46.4 referencing-0.37.0 requests-2.32.5 retrying-1.4.2 rpds-py-0.30.0 scikit-learn-1.7.2 scooby-0.11.0 simple_parsing-0.1.7 stack_data-0.6.3 tetgen-0.7.0 threadpoolctl-3.6.0 traitlets-5.14.3 tzdata-2025.3 vtk-9.5.2 wcwidth-0.2.14 werkzeug-3.1.4 widgetsnbextension-4.0.15 zipp-3.23.0\n"]}]},{"cell_type":"code","source":["!micromamba run -n partfield pip install torch-scatter -f https://data.pyg.org/whl/torch-2.4.0+cu124.html"],"metadata":{"id":"yHn4JbL0L-Mg","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762709205,"user_tz":480,"elapsed":3107,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"090a0da7-0e10-4b46-b480-b2b221c17d62"},"execution_count":7,"outputs":[{"output_type":"stream","name":"stdout","text":["Looking in links: https://data.pyg.org/whl/torch-2.4.0+cu124.html\n","Collecting torch-scatter\n","  Downloading https://data.pyg.org/whl/torch-2.4.0%2Bcu124/torch_scatter-2.1.2%2Bpt24cu124-cp310-cp310-linux_x86_64.whl (10.7 MB)\n","\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.7/10.7 MB\u001b[0m \u001b[31m110.3 MB/s\u001b[0m  \u001b[33m0:00:00\u001b[0m\n","\u001b[?25hInstalling collected packages: torch-scatter\n","Successfully installed torch-scatter-2.1.2+pt24cu124\n"]}]},{"cell_type":"code","source":["!micromamba run -n partfield pip install psutil vtk"],"metadata":{"id":"mV02unUuM50d","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762711266,"user_tz":480,"elapsed":2058,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"d24dcee5-f786-4fd0-9c4c-ec55a77035f9"},"execution_count":8,"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting psutil\n","  Downloading psutil-7.2.1-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB)\n","Requirement already satisfied: vtk in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (9.5.2)\n","Requirement already satisfied: matplotlib>=2.0.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from vtk) (3.10.8)\n","Requirement already satisfied: contourpy>=1.0.1 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (1.3.2)\n","Requirement already satisfied: cycler>=0.10 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (0.12.1)\n","Requirement already satisfied: fonttools>=4.22.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (4.61.1)\n","Requirement already satisfied: kiwisolver>=1.3.1 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (1.4.9)\n","Requirement already satisfied: numpy>=1.23 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (2.2.6)\n","Requirement already satisfied: packaging>=20.0 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (24.2)\n","Requirement already satisfied: pillow>=8 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (12.0.0)\n","Requirement already satisfied: pyparsing>=3 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (3.3.1)\n","Requirement already satisfied: python-dateutil>=2.7 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from matplotlib>=2.0.0->vtk) (2.9.0.post0)\n","Requirement already satisfied: six>=1.5 in /root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib>=2.0.0->vtk) (1.17.0)\n","Downloading psutil-7.2.1-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (154 kB)\n","Installing collected packages: psutil\n","Successfully installed psutil-7.2.1\n"]}]},{"cell_type":"code","source":["!git clone https://github.com/nv-tlabs/PartField.git"],"metadata":{"collapsed":true,"id":"gpnrYQRwdvPr","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762714732,"user_tz":480,"elapsed":3463,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"a0e87f52-925a-4d5c-e4b2-e73d3ac3c4e4"},"execution_count":9,"outputs":[{"output_type":"stream","name":"stdout","text":["Cloning into 'PartField'...\n","remote: Enumerating objects: 80, done.\u001b[K\n","remote: Counting objects: 100% (22/22), done.\u001b[K\n","remote: Compressing objects: 100% (21/21), done.\u001b[K\n","remote: Total 80 (delta 6), reused 1 (delta 1), pack-reused 58 (from 1)\u001b[K\n","Receiving objects: 100% (80/80), 29.48 MiB | 13.21 MiB/s, done.\n","Resolving deltas: 100% (9/9), done.\n"]}]},{"cell_type":"code","source":["%cd PartField"],"metadata":{"id":"6X1_ETXqNojT","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762715539,"user_tz":480,"elapsed":803,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"f634d736-b858-442c-d5cd-5d928654c8cc"},"execution_count":10,"outputs":[{"output_type":"stream","name":"stdout","text":["/content/PartField\n"]}]},{"cell_type":"code","source":["%%writefile /content/PartField/partfield/dataloader.py\n","import torch\n","import boto3\n","import json\n","from os import path as osp\n","# from botocore.config import Config\n","# from botocore.exceptions import ClientError\n","import h5py\n","import io\n","import numpy as np\n","import skimage\n","import trimesh\n","import os\n","from scipy.spatial import KDTree\n","import gc\n","from plyfile import PlyData\n","\n","## For remeshing\n","import mesh2sdf\n","import tetgen\n","import vtk\n","import math\n","import tempfile\n","\n","### For mesh processing\n","import pymeshlab\n","\n","from partfield.utils import *\n","import random\n","\n","\n","#########################\n","## To handle quad inputs\n","#########################\n","def quad_to_triangle_mesh(F):\n","    \"\"\"\n","    Converts a quad-dominant mesh into a pure triangle mesh by splitting quads into two triangles.\n","\n","    Parameters:\n","        quad_mesh (trimesh.Trimesh): Input mesh with quad faces.\n","\n","    Returns:\n","        trimesh.Trimesh: A new mesh with only triangle faces.\n","    \"\"\"\n","    faces = F\n","\n","    ### If already a triangle mesh -- skip\n","    if len(faces[0]) == 3:\n","        return F\n","\n","    new_faces = []\n","\n","    for face in faces:\n","        if len(face) == 4:  # Quad face\n","            # Split into two triangles\n","            new_faces.append([face[0], face[1], face[2]])  # Triangle 1\n","            new_faces.append([face[0], face[2], face[3]])  # Triangle 2\n","        else:\n","            print(f\"Warning: Skipping non-triangle/non-quad face {face}\")\n","\n","    new_faces = np.array(new_faces)\n","\n","    return new_faces\n","#########################\n","\n","class Demo_Dataset(torch.utils.data.Dataset):\n","    def __init__(self, cfg):\n","        super().__init__()\n","\n","        self.data_path = cfg.dataset.data_path\n","        self.is_pc = cfg.is_pc\n","\n","        all_files = os.listdir(self.data_path)\n","\n","        selected = []\n","        for f in all_files:\n","            if \".ply\" in f and self.is_pc:\n","                selected.append(f)\n","            elif (\".obj\" in f or \".glb\" in f or \".off\" in f) and not self.is_pc:\n","                selected.append(f)\n","\n","        self.data_list = selected\n","        self.pc_num_pts = 100000\n","\n","        self.preprocess_mesh = cfg.preprocess_mesh\n","        self.result_name = cfg.result_name\n","\n","        print(\"val dataset len:\", len(self.data_list))\n","\n","\n","    def __len__(self):\n","        return len(self.data_list)\n","\n","    def load_ply_to_numpy(self, filename):\n","        \"\"\"\n","        Load a PLY file and extract the point cloud as a (N, 3) NumPy array.\n","\n","        Parameters:\n","            filename (str): Path to the PLY file.\n","\n","        Returns:\n","            numpy.ndarray: Point cloud array of shape (N, 3).\n","        \"\"\"\n","        ply_data = PlyData.read(filename)\n","\n","        # Extract vertex data\n","        vertex_data = ply_data[\"vertex\"]\n","\n","        # Convert to NumPy array (x, y, z)\n","        points = np.vstack([vertex_data[\"x\"], vertex_data[\"y\"], vertex_data[\"z\"]]).T\n","\n","        return points\n","\n","    def get_model(self, ply_file):\n","\n","        uid = ply_file.split(\".\")[-2].replace(\"/\", \"_\")\n","\n","        ####\n","        if self.is_pc:\n","            ply_file_read = os.path.join(self.data_path, ply_file)\n","            pc = self.load_ply_to_numpy(ply_file_read)\n","\n","            bbmin = pc.min(0)\n","            bbmax = pc.max(0)\n","            center = (bbmin + bbmax) * 0.5\n","            scale = 2.0 * 0.9 / (bbmax - bbmin).max()\n","            pc = (pc - center) * scale\n","\n","        else:\n","            obj_path = os.path.join(self.data_path, ply_file)\n","            mesh = load_mesh_util(obj_path)\n","            vertices = mesh.vertices\n","            faces = mesh.faces\n","            print(\"Vertices:\", len(mesh.vertices))\n","            print(\"Faces:\", len(mesh.faces))\n","\n","            bbmin = vertices.min(0)\n","            bbmax = vertices.max(0)\n","            center = (bbmin + bbmax) * 0.5\n","            scale = 2.0 * 0.9 / (bbmax - bbmin).max()\n","            vertices = (vertices - center) * scale\n","            mesh.vertices = vertices\n","\n","            ### Make sure it is a triangle mesh -- just convert the quad\n","            mesh.faces = quad_to_triangle_mesh(faces)\n","\n","            print(\"before preprocessing...\")\n","            print(mesh.vertices.shape)\n","            print(mesh.faces.shape)\n","            print()\n","\n","            ### Pre-process mesh\n","            if self.preprocess_mesh:\n","                # Create a PyMeshLab mesh directly from vertices and faces\n","                ml_mesh = pymeshlab.Mesh(vertex_matrix=mesh.vertices, face_matrix=mesh.faces)\n","\n","                # Create a MeshSet and add your mesh\n","                ms = pymeshlab.MeshSet()\n","                ms.add_mesh(ml_mesh, \"from_trimesh\")\n","\n","                # Apply filters\n","                ms.apply_filter('meshing_remove_duplicate_faces')\n","                ms.apply_filter('meshing_remove_duplicate_vertices')\n","                percentageMerge = pymeshlab.PercentageValue(0.5)\n","                ms.apply_filter('meshing_merge_close_vertices', threshold=percentageMerge)\n","                ms.apply_filter('meshing_remove_unreferenced_vertices')\n","\n","                # Save or extract mesh\n","                processed = ms.current_mesh()\n","                mesh.vertices = processed.vertex_matrix()\n","                mesh.faces = processed.face_matrix()\n","\n","                print(\"after preprocessing...\")\n","                print(mesh.vertices.shape)\n","                print(mesh.faces.shape)\n","\n","            ### Save input\n","            # save_dir = f\"exp_results/{self.result_name}\"\n","            # os.makedirs(save_dir, exist_ok=True)\n","            # view_id = 0\n","            # mesh.export(f'{save_dir}/input_{uid}_{view_id}.ply')\n","\n","\n","            pc, _ = trimesh.sample.sample_surface(mesh, self.pc_num_pts)\n","\n","        labels = self.load_labels(uid)\n","        # labels = np.arange(0,len(mesh.faces),dtype=int)  # Dummy label for demonstration\n","\n","        result = {\n","            \"uid\": uid,\n","            \"pc\": torch.tensor(pc, dtype=torch.float32),\n","            \"labels\": torch.tensor(labels, dtype=torch.long)\n","        }\n","\n","        if not self.is_pc:\n","            result[\"vertices\"] = mesh.vertices\n","            result[\"faces\"] = mesh.faces\n","\n","        return result\n","\n","\n","    def load_labels(self, uid):\n","        label_path = os.path.join(self.data_path, uid + \".npy\")\n","        if not os.path.exists(label_path):\n","            raise FileNotFoundError(f\"Label file not found: {label_path}\")\n","        return np.load(label_path)\n","\n","\n","\n","    def __getitem__(self, index):\n","\n","        gc.collect()\n","\n","        return self.get_model(self.data_list[index])\n","\n","##############\n","\n","###############################\n","class Demo_Remesh_Dataset(torch.utils.data.Dataset):\n","    def __init__(self, cfg):\n","        super().__init__()\n","\n","        self.data_path = cfg.dataset.data_path\n","\n","        all_files = os.listdir(self.data_path)\n","\n","        selected = []\n","        for f in all_files:\n","            if (\".obj\" in f or \".glb\" in f):\n","                selected.append(f)\n","\n","        self.data_list = selected\n","        self.pc_num_pts = 100000\n","\n","        self.preprocess_mesh = cfg.preprocess_mesh\n","        self.result_name = cfg.result_name\n","\n","        print(\"val dataset len:\", len(self.data_list))\n","\n","\n","    def __len__(self):\n","        return len(self.data_list)\n","\n","\n","    def get_model(self, ply_file):\n","\n","        uid = ply_file.split(\".\")[-2]\n","\n","        ####\n","        obj_path = os.path.join(self.data_path, ply_file)\n","        mesh =  load_mesh_util(obj_path)\n","        vertices = mesh.vertices\n","        faces = mesh.faces\n","\n","        bbmin = vertices.min(0)\n","        bbmax = vertices.max(0)\n","        center = (bbmin + bbmax) * 0.5\n","        scale = 2.0 * 0.9 / (bbmax - bbmin).max()\n","        vertices = (vertices - center) * scale\n","        mesh.vertices = vertices\n","\n","        ### Pre-process mesh\n","        if self.preprocess_mesh:\n","            # Create a PyMeshLab mesh directly from vertices and faces\n","            ml_mesh = pymeshlab.Mesh(vertex_matrix=mesh.vertices, face_matrix=mesh.faces)\n","\n","            # Create a MeshSet and add your mesh\n","            ms = pymeshlab.MeshSet()\n","            ms.add_mesh(ml_mesh, \"from_trimesh\")\n","\n","            # Apply filters\n","            ms.apply_filter('meshing_remove_duplicate_faces')\n","            ms.apply_filter('meshing_remove_duplicate_vertices')\n","            percentageMerge = pymeshlab.PercentageValue(0.5)\n","            ms.apply_filter('meshing_merge_close_vertices', threshold=percentageMerge)\n","            ms.apply_filter('meshing_remove_unreferenced_vertices')\n","\n","\n","            # Save or extract mesh\n","            processed = ms.current_mesh()\n","            mesh.vertices = processed.vertex_matrix()\n","            mesh.faces = processed.face_matrix()\n","\n","            print(\"after preprocessing...\")\n","            print(mesh.vertices.shape)\n","            print(mesh.faces.shape)\n","\n","        ### Save input\n","        save_dir = f\"exp_results/{self.result_name}\"\n","        os.makedirs(save_dir, exist_ok=True)\n","        view_id = 0\n","        mesh.export(f'{save_dir}/input_{uid}_{view_id}.ply')\n","\n","        try:\n","            ###### Remesh ######\n","            size= 256\n","            level = 2 / size\n","\n","            sdf = mesh2sdf.core.compute(mesh.vertices, mesh.faces, size)\n","            # NOTE: the negative value is not reliable if the mesh is not watertight\n","            udf = np.abs(sdf)\n","            vertices, faces, _, _ = skimage.measure.marching_cubes(udf, level)\n","\n","            #### Only use SDF mesh ###\n","            # new_mesh = trimesh.Trimesh(vertices, faces)\n","            ##########################\n","\n","            #### Make tet #####\n","            components = trimesh.Trimesh(vertices, faces).split(only_watertight=False)\n","            new_mesh = [] #trimesh.Trimesh()\n","            if len(components) > 100000:\n","                raise NotImplementedError\n","            for i, c in enumerate(components):\n","                c.fix_normals()\n","                new_mesh.append(c) #trimesh.util.concatenate(new_mesh, c)\n","            new_mesh = trimesh.util.concatenate(new_mesh)\n","\n","            # generate tet mesh\n","            tet = tetgen.TetGen(new_mesh.vertices, new_mesh.faces)\n","            tet.tetrahedralize(plc=True, nobisect=1., quality=True, fixedvolume=True, maxvolume=math.sqrt(2) / 12 * (2 / size) ** 3)\n","            tmp_vtk = tempfile.NamedTemporaryFile(suffix='.vtk', delete=True)\n","            tet.grid.save(tmp_vtk.name)\n","\n","            # extract surface mesh from tet mesh\n","            reader = vtk.vtkUnstructuredGridReader()\n","            reader.SetFileName(tmp_vtk.name)\n","            reader.Update()\n","            surface_filter = vtk.vtkDataSetSurfaceFilter()\n","            surface_filter.SetInputConnection(reader.GetOutputPort())\n","            surface_filter.Update()\n","            polydata = surface_filter.GetOutput()\n","            writer = vtk.vtkOBJWriter()\n","            tmp_obj = tempfile.NamedTemporaryFile(suffix='.obj', delete=True)\n","            writer.SetFileName(tmp_obj.name)\n","            writer.SetInputData(polydata)\n","            writer.Update()\n","            new_mesh =  load_mesh_util(tmp_obj.name)\n","            ##########################\n","\n","            new_mesh.vertices = new_mesh.vertices * (2.0 / size) - 1.0  # normalize it to [-1, 1]\n","\n","            mesh = new_mesh\n","        ####################\n","\n","        except:\n","            print(\"Error in tet.\")\n","            mesh = mesh\n","\n","        pc, _ = trimesh.sample.sample_surface(mesh, self.pc_num_pts)\n","\n","        labels = self.load_labels(uid)\n","\n","        result = {\n","            \"uid\": uid,\n","            \"pc\": torch.tensor(pc, dtype=torch.float32),\n","            \"labels\": torch.tensor(labels, dtype=torch.long),\n","            \"vertices\": mesh.vertices,\n","            \"faces\": mesh.faces\n","        }\n","\n","        return result\n","\n","\n","    def __getitem__(self, index):\n","\n","        gc.collect()\n","\n","        return self.get_model(self.data_list[index])\n","\n","\n","class Correspondence_Demo_Dataset(Demo_Dataset):\n","    def __init__(self, cfg):\n","        super().__init__(cfg)\n","\n","        self.data_path = cfg.dataset.data_path\n","        self.is_pc = cfg.is_pc\n","\n","        self.data_list = cfg.dataset.all_files\n","\n","        self.pc_num_pts = 100000\n","\n","        self.preprocess_mesh = cfg.preprocess_mesh\n","        self.result_name = cfg.result_name\n","\n","        print(\"val dataset len:\", len(self.data_list))\n"],"metadata":{"id":"tdlLVNs8Nof7","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762715550,"user_tz":480,"elapsed":9,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"4f5b15ff-9b50-48bc-edbe-2596d5c25071"},"execution_count":11,"outputs":[{"output_type":"stream","name":"stdout","text":["Overwriting /content/PartField/partfield/dataloader.py\n"]}]},{"cell_type":"code","source":["%%writefile /content/PartField/partfield/model_trainer_pvcnn_only_demo.py\n","import torch\n","import lightning.pytorch as pl\n","from .dataloader import Demo_Dataset, Demo_Remesh_Dataset, Correspondence_Demo_Dataset\n","from torch.utils.data import DataLoader\n","from partfield.model.UNet.model import ResidualUNet3D\n","from partfield.model.triplane import TriplaneTransformer, get_grid_coord #, sample_from_planes, Voxel2Triplane\n","from partfield.model.model_utils import VanillaMLP\n","import torch.nn.functional as F\n","import torch.nn as nn\n","import os\n","import trimesh\n","import skimage\n","import numpy as np\n","import h5py\n","import torch.distributed as dist\n","from partfield.model.PVCNN.encoder_pc import TriPlanePC2Encoder, sample_triplane_feat\n","import json\n","import gc\n","import time\n","from plyfile import PlyData, PlyElement\n","\n","\n","class Model(pl.LightningModule):\n","\n","    def __init__(self, cfg):\n","        super().__init__()\n","        self.cfg = cfg\n","        self.automatic_optimization = False\n","\n","        self.triplane_transformer = TriplaneTransformer(\n","            input_dim=cfg.triplane_channels_low * 2,\n","            transformer_dim=1024,\n","            transformer_layers=6,\n","            transformer_heads=8,\n","            triplane_low_res=32,\n","            triplane_high_res=128,\n","            triplane_dim=cfg.triplane_channels_high,\n","        )\n","\n","        self.pvcnn = TriPlanePC2Encoder(\n","            cfg.pvcnn,\n","            device=\"cuda\",\n","            shape_min=-1,\n","            shape_length=2,\n","            use_2d_feat=False,\n","        )\n","\n","        self.logit_scale = nn.Parameter(torch.tensor(1.0))\n","\n","    # ------------------------------------------------------------------\n","    # DATALOADERS\n","    # ------------------------------------------------------------------\n","\n","    def train_dataloader(self):\n","        if self.cfg.remesh_demo:\n","            dataset = Demo_Remesh_Dataset(self.cfg)\n","        elif self.cfg.correspondence_demo:\n","            dataset = Correspondence_Demo_Dataset(self.cfg)\n","        else:\n","            dataset = Demo_Dataset(self.cfg)\n","\n","        return DataLoader(\n","            dataset,\n","            batch_size=self.cfg.dataset.train_batch_size,\n","            shuffle=True,\n","            drop_last=True,\n","            num_workers=self.cfg.dataset.train_num_workers,\n","            pin_memory=True,\n","        )\n","\n","    def predict_dataloader(self):\n","        if self.cfg.remesh_demo:\n","            dataset = Demo_Remesh_Dataset(self.cfg)\n","        elif self.cfg.correspondence_demo:\n","            dataset = Correspondence_Demo_Dataset(self.cfg)\n","        else:\n","            dataset = Demo_Dataset(self.cfg)\n","\n","        return DataLoader(\n","            dataset,\n","            batch_size=1,\n","            shuffle=False,\n","            num_workers=self.cfg.dataset.val_num_workers,\n","            pin_memory=True,\n","        )\n","\n","    # ------------------------------------------------------------------\n","    # TRAINING STEP AND PREDICT STEP\n","    # ------------------------------------------------------------------\n","    def training_step(self, batch, batch_idx):\n","\n","        opt = self.optimizers()\n","        opt.zero_grad()\n","\n","        # ============================================================\n","        # 1. EXACT SAME FEATURE PIPELINE AS predict_step\n","        # ============================================================\n","        print(f\"batch_pc_shape: {batch['pc'].shape}\")\n","        # PVCNN\n","        pc_feat = self.pvcnn(batch['pc'], batch['pc'])\n","        print(f\"pc_feat_shape: {pc_feat.shape}\")\n","\n","        # Triplane Transformer\n","        planes = self.triplane_transformer(pc_feat)\n","        print(f\"planes_shape: {planes.shape}\")\n","        # Split planes\n","        _, part_planes = torch.split(\n","            planes,\n","            [64, planes.shape[2] - 64],\n","            dim=2\n","        )\n","\n","        # ============================================================\n","        # 2. FEATURE SAMPLING (IDENTICAL LOGIC)\n","        # ============================================================\n","\n","        if self.cfg.is_pc:\n","\n","            # SAME dtype + shape as predict_step\n","            tensor_vertices = (\n","                batch['pc']\n","                .reshape(1, -1, 3)\n","                .to(part_planes.device)\n","                .to(torch.float16)\n","            )\n","\n","            # SAME function call\n","            point_feat = sample_triplane_feat(\n","                part_planes,\n","                tensor_vertices\n","            )  # (1, N, C)\n","\n","            # SAME reshape\n","            point_feat = point_feat.reshape(-1, point_feat.shape[-1])\n","\n","            # Labels must correspond 1:1 with sampled points\n","            labels = batch['labels'].reshape(-1).to(point_feat.device)\n","\n","        else:\n","            # EXACT SAME mesh path\n","            if self.cfg.vertex_feature:\n","\n","                tensor_vertices = (\n","                    batch['vertices'][0]\n","                    .reshape(1, -1, 3)\n","                    .to(part_planes.device)\n","                    .to(torch.float32)\n","                )\n","\n","                point_feat = self.sample_and_mean_memory_save_version(\n","                    part_planes,\n","                    tensor_vertices,\n","                    1\n","                )\n","\n","            else:\n","                n_point_per_face = self.cfg.n_point_per_face\n","\n","                tensor_vertices = self.sample_points(\n","                    batch['vertices'][0].to(part_planes.device),\n","                    batch['faces'][0].to(part_planes.device),\n","                    n_point_per_face\n","                )\n","\n","                tensor_vertices = tensor_vertices.reshape(1, -1, 3).to(torch.float32)\n","\n","                point_feat = self.sample_and_mean_memory_save_version(\n","                    part_planes,\n","                    tensor_vertices,\n","                    n_point_per_face\n","                )\n","\n","            # SAME reshape as predict_step\n","            point_feat = point_feat.reshape(-1, point_feat.shape[-1])\n","\n","            # Face labels\n","            labels = batch['labels'].reshape(-1).to(point_feat.device)\n","\n","        # ============================================================\n","        # 3. LOSS (ONLY ADDITION)\n","        # ============================================================\n","\n","        idx_a, idx_b, idx_c = self.sample_triplets(labels)\n","\n","        # In rare cases, skip empty batch\n","        if idx_a.numel() == 0:\n","            return None\n","\n","        fa = point_feat[idx_a]\n","        fb = point_feat[idx_b]\n","        fc = point_feat[idx_c]\n","\n","        loss = self.contrastive_triplet_loss(fa, fb, fc)\n","\n","        # ============================================================\n","        # 4. BACKPROP (ONLY ADDITION)\n","        # ============================================================\n","\n","        self.manual_backward(loss)\n","        opt.step()\n","\n","        self.log(\n","            \"train_loss\",\n","            loss,\n","            on_step=True,\n","            on_epoch=True,\n","            prog_bar=True,\n","            sync_dist=True\n","        )\n","        return loss\n","\n","    @torch.no_grad()\n","    def predict_step(self, batch, batch_idx):\n","        save_dir = f\"exp_results/{self.cfg.result_name}\"\n","        os.makedirs(save_dir, exist_ok=True)\n","\n","        uid = batch['uid'][0]\n","        view_id = 0\n","        starttime = time.time()\n","\n","        if uid == \"car\" or uid == \"complex_car\":\n","        # if uid == \"complex_car\":\n","            print(\"Skipping this for now.\")\n","            print(uid)\n","            return\n","\n","        ### Skip if model already processed\n","        if os.path.exists(f'{save_dir}/part_feat_{uid}_{view_id}.npy') or os.path.exists(f'{save_dir}/part_feat_{uid}_{view_id}_batch.npy'):\n","            print(\"Already processed \"+uid)\n","            return\n","\n","        N = batch['pc'].shape[0]\n","        assert N == 1\n","\n","        if self.use_2d_feat:\n","            print(\"ERROR. Dataloader not implemented with input 2d feat.\")\n","            exit()\n","        else:\n","            pc_feat = self.pvcnn(batch['pc'], batch['pc'])\n","\n","        planes = pc_feat\n","        planes = self.triplane_transformer(planes)\n","        sdf_planes, part_planes = torch.split(planes, [64, planes.shape[2] - 64], dim=2)\n","\n","        if self.cfg.is_pc:\n","            tensor_vertices = batch['pc'].reshape(1, -1, 3).cuda().to(torch.float16)\n","            point_feat = sample_triplane_feat(part_planes, tensor_vertices) # N, M, C\n","            point_feat = point_feat.cpu().detach().numpy().reshape(-1, 448)\n","\n","            np.save(f'{save_dir}/part_feat_{uid}_{view_id}.npy', point_feat)\n","            print(f\"Exported part_feat_{uid}_{view_id}.npy\")\n","\n","            ###########\n","            from sklearn.decomposition import PCA\n","            data_scaled = point_feat / np.linalg.norm(point_feat, axis=-1, keepdims=True)\n","\n","            pca = PCA(n_components=3)\n","\n","            data_reduced = pca.fit_transform(data_scaled)\n","            data_reduced = (data_reduced - data_reduced.min()) / (data_reduced.max() - data_reduced.min())\n","            colors_255 = (data_reduced * 255).astype(np.uint8)\n","\n","            points = batch['pc'].squeeze().detach().cpu().numpy()\n","\n","            if colors_255 is None:\n","                colors_255 = np.full_like(points, 255)  # Default to white color (255,255,255)\n","            else:\n","                assert colors_255.shape == points.shape, \"Colors must have the same shape as points\"\n","\n","            # Convert to structured array for PLY format\n","            vertex_data = np.array(\n","                [(*point, *color) for point, color in zip(points, colors_255)],\n","                dtype=[(\"x\", \"f4\"), (\"y\", \"f4\"), (\"z\", \"f4\"), (\"red\", \"u1\"), (\"green\", \"u1\"), (\"blue\", \"u1\")]\n","            )\n","\n","            # Create PLY element\n","            el = PlyElement.describe(vertex_data, \"vertex\")\n","            # Write to file\n","            filename = f'{save_dir}/feat_pca_{uid}_{view_id}.ply'\n","            PlyData([el], text=True).write(filename)\n","            print(f\"Saved PLY file: {filename}\")\n","            ############\n","\n","        else:\n","            use_cuda_version = True\n","            if use_cuda_version:\n","\n","\n","                if self.cfg.vertex_feature:\n","                    tensor_vertices = batch['vertices'][0].reshape(1, -1, 3).to(torch.float32)\n","                    point_feat = self.sample_and_mean_memory_save_version(part_planes, tensor_vertices, 1)\n","                else:\n","                    n_point_per_face = self.cfg.n_point_per_face\n","                    tensor_vertices = self.sample_points(batch['vertices'][0], batch['faces'][0], n_point_per_face)\n","                    tensor_vertices = tensor_vertices.reshape(1, -1, 3).to(torch.float32)\n","                    point_feat = self.sample_and_mean_memory_save_version(part_planes, tensor_vertices, n_point_per_face)  # N, M, C\n","\n","                #### Take mean feature in the triangle\n","                # print(\"Time elapsed for feature prediction: \" + str(time.time() - starttime))\n","                # point_feat = point_feat.reshape(-1, 448).cpu().numpy()\n","                # np.save(f'{save_dir}/part_feat_{uid}_{view_id}_batch.npy', point_feat)\n","                # print(f\"Exported part_feat_{uid}_{view_id}.npy\")\n","\n","                ###########\n","                from sklearn.decomposition import PCA\n","                data_scaled = point_feat / np.linalg.norm(point_feat, axis=-1, keepdims=True)\n","\n","                pca = PCA(n_components=3)\n","\n","                data_reduced = pca.fit_transform(data_scaled)\n","                data_reduced = (data_reduced - data_reduced.min()) / (data_reduced.max() - data_reduced.min())\n","                colors_255 = (data_reduced * 255).astype(np.uint8)\n","                V = batch['vertices'][0].cpu().numpy()\n","                F = batch['faces'][0].cpu().numpy()\n","                if self.cfg.vertex_feature:\n","                    colored_mesh = trimesh.Trimesh(vertices=V, faces=F, vertex_colors=colors_255, process=False)\n","                else:\n","                    colored_mesh = trimesh.Trimesh(vertices=V, faces=F, face_colors=colors_255, process=False)\n","                colored_mesh.export(f'{save_dir}/feat_pca_{uid}_{view_id}.ply')\n","                ############\n","                torch.cuda.empty_cache()\n","\n","            else:\n","                ### Mesh input (obj file)\n","                V = batch['vertices'][0].cpu().numpy()\n","                F = batch['faces'][0].cpu().numpy()\n","\n","                ##### Loop through faces #####\n","                num_samples_per_face = self.cfg.n_point_per_face\n","\n","                all_point_feats = []\n","                for face in F:\n","                    # Get the vertices of the current face\n","                    v0, v1, v2 = V[face]\n","\n","                    # Generate random barycentric coordinates\n","                    u = np.random.rand(num_samples_per_face, 1)\n","                    v = np.random.rand(num_samples_per_face, 1)\n","                    is_prob = (u+v) >1\n","                    u[is_prob] = 1 - u[is_prob]\n","                    v[is_prob] = 1 - v[is_prob]\n","                    w = 1 - u - v\n","\n","                    # Calculate points in Cartesian coordinates\n","                    points = u * v0 + v * v1 + w * v2\n","\n","                    tensor_vertices = torch.from_numpy(points.copy()).reshape(1, -1, 3).cuda().to(torch.float32)\n","                    point_feat = sample_triplane_feat(part_planes, tensor_vertices) # N, M, C\n","\n","                    #### Take mean feature in the triangle\n","                    point_feat = torch.mean(point_feat, axis=1).cpu().detach().numpy()\n","                    all_point_feats.append(point_feat)\n","                ##############################\n","\n","                all_point_feats = np.array(all_point_feats).reshape(-1, 448)\n","\n","                point_feat = all_point_feats\n","\n","                np.save(f'{save_dir}/part_feat_{uid}_{view_id}.npy', point_feat)\n","                print(f\"Exported part_feat_{uid}_{view_id}.npy\")\n","\n","                ###########\n","                from sklearn.decomposition import PCA\n","                data_scaled = point_feat / np.linalg.norm(point_feat, axis=-1, keepdims=True)\n","\n","                pca = PCA(n_components=3)\n","\n","                data_reduced = pca.fit_transform(data_scaled)\n","                data_reduced = (data_reduced - data_reduced.min()) / (data_reduced.max() - data_reduced.min())\n","                colors_255 = (data_reduced * 255).astype(np.uint8)\n","\n","                colored_mesh = trimesh.Trimesh(vertices=V, faces=F, face_colors=colors_255, process=False)\n","                colored_mesh.export(f'{save_dir}/feat_pca_{uid}_{view_id}.ply')\n","                ############\n","\n","        print(\"Time elapsed: \" + str(time.time()-starttime))\n","\n","        return\n","\n","\n","\n","    # ------------------------------------------------------------------\n","    # LOSS FUNCTIONS (Paper-consistent)\n","    # ------------------------------------------------------------------\n","\n","    def sample_triplets(self, labels, num_triplets=1024):\n","        labels_np = labels.detach().cpu().numpy()\n","        device = labels.device\n","\n","        idx_a, idx_b, idx_c = [], [], []\n","        unique_labels = np.unique(labels_np)\n","\n","        for _ in range(num_triplets):\n","            pos_label = np.random.choice(unique_labels)\n","            neg_label = np.random.choice(unique_labels)\n","            while neg_label == pos_label:\n","                neg_label = np.random.choice(unique_labels)\n","\n","            pos_idx = np.where(labels_np == pos_label)[0]\n","            neg_idx = np.where(labels_np == neg_label)[0]\n","\n","            if len(pos_idx) < 2:\n","                continue\n","\n","            a, b = np.random.choice(pos_idx, 2, replace=False)\n","            c = np.random.choice(neg_idx)\n","\n","            idx_a.append(a)\n","            idx_b.append(b)\n","            idx_c.append(c)\n","\n","        if len(idx_a) == 0:\n","            return (\n","                torch.empty(0, dtype=torch.long, device=device),\n","                torch.empty(0, dtype=torch.long, device=device),\n","                torch.empty(0, dtype=torch.long, device=device),\n","            )\n","\n","        return (\n","            torch.tensor(idx_a, dtype=torch.long, device=device),\n","            torch.tensor(idx_b, dtype=torch.long, device=device),\n","            torch.tensor(idx_c, dtype=torch.long, device=device),\n","        )\n","\n","    def contrastive_triplet_loss(self, fa, fb, fc):\n","        fa = F.normalize(fa, dim=-1)\n","        fb = F.normalize(fb, dim=-1)\n","        fc = F.normalize(fc, dim=-1)\n","\n","        tau = torch.clamp(self.logit_scale.exp(), 1e-6, 100.0)\n","\n","        sim_ab = torch.exp(torch.sum(fa * fb, dim=-1) / tau)\n","        sim_ac = torch.exp(torch.sum(fa * fc, dim=-1) / tau)\n","        sim_bc = torch.exp(torch.sum(fb * fc, dim=-1) / tau)\n","\n","        loss_a = -torch.log(sim_ab / (sim_ab + sim_ac))\n","        loss_b = -torch.log(sim_ab / (sim_ab + sim_bc))\n","\n","        return 0.5 * (loss_a + loss_b).mean()\n","\n","    # ------------------------------------------------------------------\n","    # SAMPLING UTILITIES\n","    # ------------------------------------------------------------------\n","\n","    def sample_points(self, vertices, faces, n_point_per_face):\n","        n_f = faces.shape[0]\n","        u = torch.sqrt(torch.rand((n_f, n_point_per_face, 1),\n","                                  device=vertices.device))\n","        v = torch.rand((n_f, n_point_per_face, 1),\n","                       device=vertices.device)\n","        w0 = 1 - u\n","        w1 = u * (1 - v)\n","        w2 = u * v\n","\n","        v0 = vertices[faces[:, 0]]\n","        v1 = vertices[faces[:, 1]]\n","        v2 = vertices[faces[:, 2]]\n","\n","        return (\n","            w0 * v0[:, None] +\n","            w1 * v1[:, None] +\n","            w2 * v2[:, None]\n","        )\n","\n","    def sample_and_mean_memory_save_version(self, part_planes, tensor_vertices, nppf):\n","        n_sample_each = self.cfg.n_sample_each\n","        n_v = tensor_vertices.shape[1]\n","        n_chunks = n_v // n_sample_each + 1\n","\n","        out = []\n","        for i in range(n_chunks):\n","            feat = sample_triplane_feat(\n","                part_planes,\n","                tensor_vertices[:, i * n_sample_each:(i + 1) * n_sample_each]\n","            )\n","            feat = feat.reshape(1, -1, nppf, feat.shape[-1]).mean(dim=-2)\n","            out.append(feat)\n","\n","        return torch.cat(out, dim=1)\n","\n","    # ------------------------------------------------------------------\n","    # OPTIMIZER\n","    # ------------------------------------------------------------------\n","\n","    def configure_optimizers(self):\n","        return torch.optim.AdamW(self.parameters(), lr=self.cfg.lr)"],"metadata":{"id":"cxOrlmWfNod1","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762715562,"user_tz":480,"elapsed":9,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"a4703094-3261-4b32-f767-957f509776f3"},"execution_count":12,"outputs":[{"output_type":"stream","name":"stdout","text":["Overwriting /content/PartField/partfield/model_trainer_pvcnn_only_demo.py\n"]}]},{"cell_type":"code","source":["%%writefile /content/PartField/partfield_inference.py\n","from partfield.config import default_argument_parser, setup\n","from lightning.pytorch import seed_everything, Trainer\n","from lightning.pytorch.callbacks import ModelCheckpoint\n","import torch\n","import os\n","import numpy as np\n","import random\n","\n","def predict(cfg):\n","    seed_everything(cfg.seed)\n","\n","    torch.manual_seed(0)\n","    random.seed(0)\n","    np.random.seed(0)\n","\n","    print(\"checkpoint\")\n","    os.makedirs(cfg.output_dir, exist_ok=True)\n","\n","    checkpoint_callbacks = [\n","        ModelCheckpoint(\n","            dirpath=cfg.output_dir,\n","            filename=\"epoch-{epoch:03d}\",\n","            save_top_k=-1,\n","            every_n_epochs=1,\n","            save_last=True,\n","            verbose=True,\n","            save_on_train_epoch_end=True,\n","        )\n","    ]\n","\n","    print(\"trainer\")\n","    trainer = Trainer(\n","        enable_checkpointing=True,\n","        accelerator=\"gpu\",\n","        devices=1,\n","        precision=\"16-mixed\",\n","        # strategy=\"ddp_notebook\",   #  FIX\n","        max_epochs=50,\n","        callbacks=checkpoint_callbacks,\n","    )\n","\n","    print(\"model\")\n","    from partfield.model_trainer_pvcnn_only_demo import Model\n","    model = Model(cfg)\n","\n","    if cfg.remesh_demo:\n","        cfg.n_point_per_face = 10\n","\n","    trainer.fit(model)\n","    trainer.save_checkpoint(os.path.join(cfg.output_dir, \"final_model.ckpt\"))\n","    print(f\"Manual checkpoint saved to {cfg.output_dir}\")\n","\n","def main():\n","    print(\"started\")\n","    parser = default_argument_parser()\n","    args = parser.parse_args()\n","    cfg = setup(args, freeze=False)\n","    predict(cfg)\n","\n","if __name__ == \"__main__\":\n","    main()"],"metadata":{"id":"mVx05vW2ifRQ","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762833708,"user_tz":480,"elapsed":36,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"571b7a92-adb1-4d54-bf7c-884dcc04acb7"},"execution_count":16,"outputs":[{"output_type":"stream","name":"stdout","text":["Overwriting /content/PartField/partfield_inference.py\n"]}]},{"cell_type":"code","source":["%%writefile /content/PartField/partfield/model/PVCNN/unet_3daware.py\n","import numpy as np\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","from torch.nn import init\n","import einops\n","\n","# ---------------------------\n","# utils / conv factories\n","# ---------------------------\n","def conv3x3(in_channels, out_channels, stride=1, padding=1, bias=True, groups=1):\n","    return nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=stride, padding=padding, bias=bias, groups=groups)\n","\n","def upconv2x2(in_channels, out_channels, mode='transpose'):\n","    if mode == 'transpose':\n","        return nn.ConvTranspose2d(in_channels, out_channels, kernel_size=2, stride=2)\n","    else:\n","        return nn.Sequential(\n","            nn.Upsample(mode='bilinear', scale_factor=2),\n","            conv1x1(in_channels, out_channels))\n","\n","def conv1x1(in_channels, out_channels, groups=1):\n","    return nn.Conv2d(in_channels, out_channels, kernel_size=1, groups=groups, stride=1)\n","\n","# ---------------------------\n","# ConvTriplane3dAware (safe)\n","# ---------------------------\n","class ConvTriplane3dAware(nn.Module):\n","    \"\"\"3D aware triplane conv with FP16-safe blocks (uses autocast disabled for numerically unstable ops).\"\"\"\n","    def __init__(self, internal_conv_f, in_channels, out_channels, order='xz'):\n","        super(ConvTriplane3dAware, self).__init__()\n","        self.in_channels = in_channels\n","        self.out_channels = out_channels\n","        assert order in ['xz', 'zx']\n","        self.order = order\n","        # plane_convs perform a conv on concatenated [i, jpool, kpool] => so input channels = 3*in_channels\n","        self.plane_convs = nn.ModuleList([internal_conv_f(3*self.in_channels, self.out_channels) for _ in range(3)])\n","\n","    def forward(self, triplanes_list):\n","        # triplanes_list: list of 3 tensors: each (B, C, H, W)\n","        inps = list(triplanes_list)\n","        xp = 1\n","        yp = 2\n","        zp = 0\n","\n","        if self.order == 'xz':\n","            inps[yp] = einops.rearrange(inps[yp], 'b c x z -> b c z x')\n","\n","        oplanes = [None] * 3\n","\n","        # We'll run pooling / concat / conv in FP32 (disable autocast), then cast back to original dtype.\n","        for iplane in [zp, xp, yp]:\n","            jplane = (iplane + 1) % 3\n","            kplane = (iplane + 2) % 3\n","            ifeat = inps[iplane]\n","            orig_dtype = ifeat.dtype\n","\n","            # disable autocast so reductions and groupnorm inside convs don't overflow in fp16\n","            with torch.cuda.amp.autocast(enabled=False):\n","                # cast to float32 for stable reductions\n","                j_in = inps[jplane].float()\n","                k_in = inps[kplane].float()\n","                i_in = ifeat.float()\n","\n","                # j_plane -> (b c k i) mean over i -> b c k 1 -> rearrange -> repeat to (b c j k)\n","                jpool = torch.mean(j_in, dim=3, keepdim=True)         # b c k 1\n","                jpool = einops.rearrange(jpool, 'b c k 1 -> b c 1 k') # b c 1 k\n","                jpool = einops.repeat(jpool, 'b c 1 k -> b c j k', j=i_in.size(2))\n","\n","                # k_plane -> mean over i (dim=2) then rearrange and repeat to j,k\n","                kpool = torch.mean(k_in, dim=2, keepdim=True)         # b c 1 j\n","                kpool = einops.rearrange(kpool, 'b c 1 j -> b c j 1') # b c j 1\n","                kpool = einops.repeat(kpool, 'b c j 1 -> b c j k', k=i_in.size(3))\n","\n","                # concat along channel dim: (i_in, jpool, kpool) -> [B, 3*C, H, W]\n","                catfeat = torch.cat([i_in, jpool, kpool], dim=1)\n","\n","                # run plane conv in FP32\n","                out_fp32 = self.plane_convs[iplane](catfeat)\n","                # cast back to original dtype for consistency with the rest of the model\n","                oplane = out_fp32.to(orig_dtype)\n","\n","            oplanes[iplane] = oplane\n","\n","        if self.order == 'xz':\n","            oplanes[yp] = einops.rearrange(oplanes[yp], 'b c z x -> b c x z')\n","\n","        return oplanes\n","\n","# ---------------------------\n","# roll/unroll helpers\n","# ---------------------------\n","def roll_triplanes(triplanes_list):\n","    tristack = torch.stack((triplanes_list), dim=2)\n","    return einops.rearrange(tristack, 'b c tri h w -> b c (tri h) w', tri=3)\n","\n","def unroll_triplanes(rolled_triplane):\n","    tristack = einops.rearrange(rolled_triplane, 'b c (tri h) w -> b c tri h w', tri=3)\n","    return torch.unbind(tristack, dim=2)\n","\n","def conv1x1triplane3daware(in_channels, out_channels, order='xz', **kwargs):\n","    return ConvTriplane3dAware(lambda inp, out: conv1x1(inp, out, **kwargs), in_channels, out_channels, order=order)\n","\n","# ---------------------------\n","# Normalize and nonlinearity\n","# ---------------------------\n","def Normalize(in_channels, num_groups=32):\n","    num_groups = min(in_channels, num_groups)\n","    # GroupNorm accepts num_channels divisible by num_groups; ensure division is valid by reducing groups if needed\n","    while in_channels % num_groups != 0 and num_groups > 1:\n","        num_groups -= 1\n","    return torch.nn.GroupNorm(num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True)\n","\n","def nonlinearity(x):\n","    # Swish: use float32 internally if x is fp16\n","    orig_dtype = x.dtype\n","    with torch.cuda.amp.autocast(enabled=False):\n","        out = x.float() * torch.sigmoid(x.float())\n","    return out.to(orig_dtype)\n","\n","# ---------------------------\n","# Upsample / Downsample (unchanged but careful with dtype)\n","# ---------------------------\n","class Upsample(nn.Module):\n","    def __init__(self, in_channels, with_conv):\n","        super().__init__()\n","        self.with_conv = with_conv\n","        if self.with_conv:\n","            self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=1, padding=1)\n","\n","    def forward(self, x):\n","        x = torch.nn.functional.interpolate(x, scale_factor=2.0, mode=\"nearest\")\n","        if self.with_conv:\n","            # run conv in FP32 if input is fp16 to avoid small-range issues\n","            if x.dtype == torch.float16:\n","                with torch.cuda.amp.autocast(enabled=False):\n","                    x = self.conv(x.float()).to(torch.float16)\n","            else:\n","                x = self.conv(x)\n","        return x\n","\n","class Downsample(nn.Module):\n","    def __init__(self, in_channels, with_conv):\n","        super().__init__()\n","        self.with_conv = with_conv\n","        if self.with_conv:\n","            self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=2, padding=0)\n","\n","    def forward(self, x):\n","        if self.with_conv:\n","            pad = (0, 1, 0, 1)\n","            x = torch.nn.functional.pad(x, pad, mode=\"constant\", value=0)\n","            if x.dtype == torch.float16:\n","                with torch.cuda.amp.autocast(enabled=False):\n","                    x = self.conv(x.float()).to(torch.float16)\n","            else:\n","                x = self.conv(x)\n","        else:\n","            x = torch.nn.functional.avg_pool2d(x, kernel_size=2, stride=2)\n","        return x\n","\n","# ---------------------------\n","# ResnetBlock3dAware (FP16-safe)\n","# ---------------------------\n","class ResnetBlock3dAware(nn.Module):\n","    def __init__(self, in_channels, out_channels=None):\n","        super().__init__()\n","        self.in_channels = in_channels\n","        out_channels = in_channels if out_channels is None else out_channels\n","        self.out_channels = out_channels\n","\n","        self.norm1 = Normalize(in_channels)\n","        self.conv1 = conv3x3(self.in_channels, self.out_channels)\n","\n","        self.norm_mid = Normalize(out_channels)\n","        self.conv_3daware = conv1x1triplane3daware(self.out_channels, self.out_channels)\n","\n","        self.norm2 = Normalize(out_channels)\n","        self.conv2 = conv3x3(self.out_channels, self.out_channels)\n","\n","        if self.in_channels != self.out_channels:\n","            self.nin_shortcut = torch.nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0)\n","\n","    def forward(self, x):\n","        # To avoid FP16 numerical problems, run GroupNorm/Swish/Triplane-mixing in FP32 using autocast disabled.\n","        orig_dtype = x.dtype\n","\n","        # Step 1: norm1, swish, conv1  (conv1 we allow to run in FP16 if safe; but do norm+swish in FP32)\n","        with torch.cuda.amp.autocast(enabled=False):\n","            h = self.norm1(x.float())\n","            h = nonlinearity(h).float()\n","            h = self.conv1(h)  # conv1 runs in FP32\n","        h = h.to(orig_dtype)  # back to original dtype\n","\n","        # Step 2: norm_mid, swish, unroll, conv_3daware (do entire block in FP32)\n","        with torch.cuda.amp.autocast(enabled=False):\n","            h_fp = self.norm_mid(h.float())\n","            h_fp = nonlinearity(h_fp)\n","            planes = unroll_triplanes(h_fp)  # list of 3 FP32 tensors\n","            planes = self.conv_3daware(planes)  # conv_3daware returns FP32 outputs (we ensured inside)\n","            h = roll_triplanes(planes)\n","        h = h.to(orig_dtype)\n","\n","        # Step 3: norm2, swish, conv2\n","        with torch.cuda.amp.autocast(enabled=False):\n","            h2 = self.norm2(h.float())\n","            h2 = nonlinearity(h2)\n","            h2 = self.conv2(h2)\n","        h2 = h2.to(orig_dtype)\n","\n","        if self.in_channels != self.out_channels:\n","            with torch.cuda.amp.autocast(enabled=False):\n","                x_sc = self.nin_shortcut(x.float())\n","            x_sc = x_sc.to(orig_dtype)\n","            return x_sc + h2\n","        else:\n","            return x + h2\n","\n","# ---------------------------\n","# DownConv3dAware, UpConv3dAware (reuse blocks)\n","# ---------------------------\n","class DownConv3dAware(nn.Module):\n","    def __init__(self, in_channels, out_channels, downsample=True, with_conv=False):\n","        super(DownConv3dAware, self).__init__()\n","        self.in_channels = in_channels\n","        self.out_channels = out_channels\n","        self.block = ResnetBlock3dAware(in_channels=in_channels, out_channels=out_channels)\n","        self.do_downsample = downsample\n","        self.downsample = Downsample(out_channels, with_conv=with_conv)\n","\n","    def forward(self, x):\n","        x = self.block(x)\n","        before_pool = x\n","        if self.do_downsample:\n","            x = einops.rearrange(x, 'b c (tri h) w -> b (c tri) h w', tri=3)\n","            x = self.downsample(x)\n","            x = einops.rearrange(x, 'b (c tri) h w -> b c (tri h) w', tri=3)\n","        return x, before_pool\n","\n","class UpConv3dAware(nn.Module):\n","    def __init__(self, in_channels, out_channels, merge_mode='concat', with_conv=False):\n","        super(UpConv3dAware, self).__init__()\n","        self.in_channels = in_channels\n","        self.out_channels = out_channels\n","        self.merge_mode = merge_mode\n","        self.upsample = Upsample(in_channels, with_conv)\n","\n","        if self.merge_mode == 'concat':\n","            self.norm1 = Normalize(in_channels + out_channels)\n","            self.block = ResnetBlock3dAware(in_channels=in_channels + out_channels, out_channels=out_channels)\n","        else:\n","            self.norm1 = Normalize(in_channels)\n","            self.block = ResnetBlock3dAware(in_channels=in_channels, out_channels=out_channels)\n","\n","    def forward(self, from_down, from_up):\n","        from_up = self.upsample(from_up)\n","        if self.merge_mode == 'concat':\n","            x = torch.cat((from_up, from_down), 1)\n","        else:\n","            x = from_up + from_down\n","        x = self.norm1(x)\n","        x = self.block(x)\n","        return x\n","\n","# ---------------------------\n","# UNetTriplane3dAware (main)\n","# ---------------------------\n","class UNetTriplane3dAware(nn.Module):\n","    def __init__(self, out_channels, in_channels=3, depth=5, start_filts=64, use_initial_conv=False, merge_mode='concat', **kwargs):\n","        super(UNetTriplane3dAware, self).__init__()\n","        self.out_channels = out_channels\n","        self.in_channels = in_channels\n","        self.start_filts = start_filts\n","        self.depth = depth\n","        self.use_initial_conv = use_initial_conv\n","\n","        if use_initial_conv:\n","            self.conv_initial = conv1x1(self.in_channels, self.start_filts)\n","\n","        self.down_convs = []\n","        self.up_convs = []\n","\n","        for i in range(depth):\n","            if i == 0:\n","                ins = self.start_filts if use_initial_conv else self.in_channels\n","            else:\n","                ins = outs\n","            outs = self.start_filts * (2 ** i)\n","            downsamp_it = True if i < depth - 1 else False\n","            down_conv = DownConv3dAware(ins, outs, downsample=downsamp_it)\n","            self.down_convs.append(down_conv)\n","\n","        for i in range(depth - 1):\n","            ins = outs\n","            outs = ins // 2\n","            up_conv = UpConv3dAware(ins, outs, merge_mode=merge_mode)\n","            self.up_convs.append(up_conv)\n","\n","        self.down_convs = nn.ModuleList(self.down_convs)\n","        self.up_convs = nn.ModuleList(self.up_convs)\n","\n","        self.norm_out = Normalize(outs)\n","        self.conv_final = conv1x1(outs, self.out_channels)\n","\n","        self.reset_params()\n","\n","    @staticmethod\n","    def weight_init(m):\n","        # use kaiming normal which is more robust for Swish-like activations\n","        if isinstance(m, (nn.Conv2d, nn.ConvTranspose2d)):\n","            init.kaiming_normal_(m.weight, a=0, mode='fan_in', nonlinearity='leaky_relu')\n","            if m.bias is not None:\n","                init.constant_(m.bias, 0)\n","\n","    def reset_params(self):\n","        for i, m in enumerate(self.modules()):\n","            self.weight_init(m)\n","\n","    def forward(self, x):\n","        # x: (B, tri, C, H, W)\n","        # roll\n","        x = einops.rearrange(x, 'b tri c h w -> b c (tri h) w', tri=3)\n","\n","        if self.use_initial_conv:\n","            x = self.conv_initial(x)\n","\n","        encoder_outs = []\n","        for i, module in enumerate(self.down_convs):\n","            x, before_pool = module(x)\n","            encoder_outs.append(before_pool)\n","\n","        for i, module in enumerate(self.up_convs):\n","            before_pool = encoder_outs[-(i + 2)]\n","            x = module(before_pool, x)\n","\n","        # final\n","        with torch.cuda.amp.autocast(enabled=False):\n","            x = self.norm_out(x.float())\n","            x = self.conv_final(nonlinearity(x))\n","        x = x.to(torch.float32 if x.dtype == torch.float32 else x.dtype)  # keep dtype consistent\n","        print(\"After final conv shape:\", x.shape, end='\\n')\n","        # unroll\n","        x = einops.rearrange(x, 'b c (tri h) w -> b tri c h w', tri=3)\n","        print(\"UNetTriplane3dAware output shape:\", x.shape, end='\\n')\n","        return x\n","\n","def setup_unet(output_channels, input_channels, unet_cfg):\n","    if unet_cfg['use_3d_aware']:\n","        assert(unet_cfg['rolled'])\n","        unet = UNetTriplane3dAware(\n","            out_channels=output_channels,\n","            in_channels=input_channels,\n","            depth=unet_cfg['depth'],\n","            use_initial_conv=unet_cfg['use_initial_conv'],\n","            start_filts=unet_cfg['start_hidden_channels'])\n","    else:\n","        raise NotImplementedError\n","    return unet\n"],"metadata":{"id":"fDde0mW-XdmI","collapsed":true,"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767762715574,"user_tz":480,"elapsed":4,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"0b74d196-2b9d-4210-f060-97046db6faf6"},"execution_count":14,"outputs":[{"output_type":"stream","name":"stdout","text":["Overwriting /content/PartField/partfield/model/PVCNN/unet_3daware.py\n"]}]},{"cell_type":"code","source":["!mkdir -p /content/PartField/data/objaverse_samples/"],"metadata":{"id":"a6GFFlBBNoXy","executionInfo":{"status":"ok","timestamp":1767762715578,"user_tz":480,"elapsed":3,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}}},"execution_count":15,"outputs":[]},{"cell_type":"code","source":["!micromamba run -n partfield python partfield_inference.py -c configs/final/demo.yaml --opts result_name partfield_features/objaverse dataset.data_path data/objaverse_samples"],"metadata":{"id":"4ivhNgItNoVi","collapsed":true,"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767765792181,"user_tz":480,"elapsed":2896323,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"76e7f487-b28f-40ce-933a-e5a1fd95b5c8"},"execution_count":17,"outputs":[{"output_type":"stream","name":"stdout","text":["/root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages/lightning/fabric/__init__.py:40: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n","started\n","Seed set to 0\n","checkpoint\n","trainer\n","Using 16bit Automatic Mixed Precision (AMP)\n","/root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages/lightning/pytorch/plugins/precision/amp.py:55: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.\n","GPU available: True (cuda), used: True\n","TPU available: False, using: 0 TPU cores\n","IPU available: False, using: 0 IPUs\n","HPU available: False, using: 0 HPUs\n","/root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages/lightning/pytorch/trainer/connectors/logger_connector/logger_connector.py:75: Starting from v1.9.0, `tensorboardX` has been removed as a dependency of the `lightning.pytorch` package, due to potential conflicts with other packages in the ML ecosystem. For this reason, `logger=True` will use `CSVLogger` as the default logger, unless the `tensorboard` or `tensorboardX` packages are found. Please `pip install lightning[extra]` or one of them to enable TensorBoard support by default\n","model\n","You are using a CUDA device ('NVIDIA L4') that has Tensor Cores. To properly utilize them, you should set `torch.set_float32_matmul_precision('medium' | 'high')` which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision\n","Missing logger folder: /content/PartField/lightning_logs\n","LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n","\n","  | Name                 | Type                | Params\n","-------------------------------------------------------------\n","0 | triplane_transformer | TriplaneTransformer | 99.3 M\n","1 | pvcnn                | TriPlanePC2Encoder  | 7.6 M \n","  | other params         | n/a                 | 1     \n","-------------------------------------------------------------\n","106 M     Trainable params\n","0         Non-trainable params\n","106 M     Total params\n","427.561   Total estimated model params size (MB)\n","val dataset len: 1\n","/root/.local/share/mamba/envs/partfield/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py:298: The number of training batches (1) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.\n","Epoch 0:   0% 0/1 [00:00<?, ?it/s] Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","/content/PartField/partfield/model/PVCNN/pv_module/voxelization.py:17: UserWarning: The reduce argument of torch.scatter with Tensor src is deprecated and will be removed in a future PyTorch release. Use torch.scatter_reduce instead for more reduction options. (Triggered internally at ../aten/src/ATen/native/TensorAdvancedIndexing.cpp:231.)\n","  out_feature = result.scatter_(index=indices.long(), src=features, dim=2, reduce='add')\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 1:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.683, train_loss_epoch=0.683]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 2:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.593, train_loss_epoch=0.593]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 3:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.635, train_loss_epoch=0.635]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 4:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.580, train_loss_epoch=0.580]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 5:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.530, train_loss_epoch=0.530]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 6:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.506, train_loss_epoch=0.506]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 7:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.504, train_loss_epoch=0.504]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 8:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.492, train_loss_epoch=0.492]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 9:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.478, train_loss_epoch=0.478]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 10:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.484, train_loss_epoch=0.484]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 11:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.476, train_loss_epoch=0.476]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 12:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.472, train_loss_epoch=0.472]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 13:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.473, train_loss_epoch=0.473]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 14:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.471, train_loss_epoch=0.471]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 15:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.467, train_loss_epoch=0.467]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 16:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.462, train_loss_epoch=0.462]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 17:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.464, train_loss_epoch=0.464]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 18:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.460, train_loss_epoch=0.460]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 19:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.459, train_loss_epoch=0.459]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 20:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.459, train_loss_epoch=0.459]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 21:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.457, train_loss_epoch=0.457]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 22:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.456, train_loss_epoch=0.456]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 23:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.454, train_loss_epoch=0.454]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 24:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.456, train_loss_epoch=0.456]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 25:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.453, train_loss_epoch=0.453]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 26:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.454, train_loss_epoch=0.454]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 27:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.452, train_loss_epoch=0.452]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 28:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.453, train_loss_epoch=0.453]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 29:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.454, train_loss_epoch=0.454]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 30:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.451, train_loss_epoch=0.451]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 31:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.451, train_loss_epoch=0.451]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 32:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.451, train_loss_epoch=0.451]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 33:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.451, train_loss_epoch=0.451]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 34:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.449, train_loss_epoch=0.449]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 35:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.449, train_loss_epoch=0.449]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 36:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.450, train_loss_epoch=0.450]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 37:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.449, train_loss_epoch=0.449]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 38:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.448, train_loss_epoch=0.448]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 39:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.449, train_loss_epoch=0.449]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 40:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.449, train_loss_epoch=0.449]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 41:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.448, train_loss_epoch=0.448]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 42:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.448, train_loss_epoch=0.448]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 43:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.447, train_loss_epoch=0.447]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 44:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.447, train_loss_epoch=0.447]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 45:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.446, train_loss_epoch=0.446]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 46:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.447, train_loss_epoch=0.447]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 47:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.447, train_loss_epoch=0.447]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 48:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.446, train_loss_epoch=0.446]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 49:   0% 0/1 [00:00<?, ?it/s, v_num=0, train_loss_step=0.446, train_loss_epoch=0.446]Vertices: 654\n","Faces: 1332\n","before preprocessing...\n","(654, 3)\n","(1332, 3)\n","\n","batch_pc_shape: torch.Size([1, 100000, 3])\n","After final conv shape: torch.Size([1, 256, 384, 128])\n","UNetTriplane3dAware output shape: torch.Size([1, 3, 256, 128, 128])\n","pc_feat_shape: torch.Size([1, 3, 256, 128, 128])\n","planes_shape: torch.Size([1, 3, 512, 128, 128])\n","Epoch 49: 100% 1/1 [00:01<00:00,  1.57s/it, v_num=0, train_loss_step=0.446, train_loss_epoch=0.446]`Trainer.fit` stopped: `max_epochs=50` reached.\n","Epoch 49: 100% 1/1 [02:31<00:00, 151.19s/it, v_num=0, train_loss_step=0.446, train_loss_epoch=0.446]\n","Manual checkpoint saved to results/test/260106-211452\n"]}]},{"cell_type":"code","source":["!mkdir model"],"metadata":{"id":"DeafOYerrKSX"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["!huggingface-cli login"],"metadata":{"id":"9fALUuy18hhf"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["!huggingface-cli upload Silly98/chiller_output /content/PartField/sample.zip --repo-type dataset"],"metadata":{"id":"6_1AQpE908IE","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767768594441,"user_tz":480,"elapsed":45795,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"e1d460c9-6b4d-4952-fbd6-28cb3dea0126"},"execution_count":24,"outputs":[{"output_type":"stream","name":"stdout","text":["\u001b[33m⚠️  Warning: 'huggingface-cli upload' is deprecated. Use 'hf upload' instead.\u001b[0m\n","Processing Files (0 / 0)      : |          |  0.00B /  0.00B            \n","New Data Upload               : |          |  0.00B /  0.00B            \u001b[A\n","\n","  ...tent/PartField/sample.zip:   0% 524k/2.27G [00:00<?, ?B/s]\u001b[A\u001b[A\n","\n","Processing Files (0 / 1)      :   0% 524k/2.27G [00:02<2:56:15, 214kB/s,  238kB/s  ]\n","New Data Upload               :   1% 524k/67.1M [00:02<05:10, 214kB/s,  238kB/s  ]\u001b[A\n","\n","  ...tent/PartField/sample.zip:   0% 524k/2.27G [00:00<?, ?B/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip:   0% 524k/2.27G [00:00<?, ?B/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip:   0% 524k/2.27G [00:00<?, ?B/s]\u001b[A\u001b[A\n","\n","Processing Files (0 / 1)      :   0% 2.10M/2.27G [00:03<48:54, 772kB/s,  699kB/s  ] \n","New Data Upload               :   2% 2.10M/134M [00:03<02:50, 772kB/s,  699kB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   0% 4.19M/2.27G [00:03<21:23, 1.76MB/s, 1.31MB/s  ]\n","New Data Upload               :   2% 4.19M/201M [00:03<01:51, 1.76MB/s, 1.31MB/s  ]\u001b[A\n","\n","  ...tent/PartField/sample.zip:   0% 4.19M/2.27G [00:01<12:20, 3.06MB/s]\u001b[A\u001b[A\n","\n","Processing Files (0 / 1)      :   0% 5.77M/2.27G [00:03<16:43, 2.25MB/s, 1.60MB/s  ]\n","New Data Upload               :   3% 5.77M/201M [00:03<01:26, 2.25MB/s, 1.60MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   0% 8.39M/2.27G [00:04<10:00, 3.76MB/s, 2.21MB/s  ]\n","New Data Upload               :   4% 8.39M/201M [00:04<00:51, 3.76MB/s, 2.21MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   1% 13.1M/2.27G [00:04<05:20, 7.04MB/s, 3.28MB/s  ]\n","New Data Upload               :   7% 13.1M/201M [00:04<00:26, 7.04MB/s, 3.28MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   1% 17.3M/2.27G [00:04<03:51, 9.71MB/s, 4.12MB/s  ]\n","New Data Upload               :   6% 17.3M/268M [00:04<00:25, 9.71MB/s, 4.12MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   1% 21.0M/2.27G [00:04<03:14, 11.6MB/s, 4.77MB/s  ]\n","New Data Upload               :   8% 21.0M/268M [00:04<00:21, 11.6MB/s, 4.77MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   1% 27.8M/2.27G [00:04<02:13, 16.8MB/s, 6.04MB/s  ]\n","New Data Upload               :   8% 27.8M/335M [00:04<00:18, 16.8MB/s, 6.04MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   1% 32.0M/2.27G [00:05<02:04, 17.9MB/s, 6.66MB/s  ]\n","New Data Upload               :  10% 32.0M/335M [00:05<00:16, 17.9MB/s, 6.66MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   2% 40.9M/2.27G [00:05<01:29, 24.9MB/s, 8.18MB/s  ]\n","New Data Upload               :  12% 40.9M/335M [00:05<00:11, 24.9MB/s, 8.18MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   2% 48.2M/2.27G [00:05<01:18, 28.1MB/s, 9.27MB/s  ]\n","New Data Upload               :  14% 48.2M/335M [00:05<00:10, 28.1MB/s, 9.27MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   2% 56.1M/2.27G [00:05<01:10, 31.3MB/s, 10.4MB/s  ]\n","New Data Upload               :  14% 56.1M/402M [00:05<00:11, 31.3MB/s, 10.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   3% 65.5M/2.27G [00:05<01:01, 35.8MB/s, 11.7MB/s  ]\n","New Data Upload               :  16% 65.5M/402M [00:05<00:09, 35.8MB/s, 11.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   3% 75.0M/2.27G [00:06<00:55, 39.2MB/s, 12.9MB/s  ]\n","New Data Upload               :  16% 75.0M/469M [00:06<00:10, 39.2MB/s, 12.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   4% 87.0M/2.27G [00:06<00:48, 45.4MB/s, 14.5MB/s  ]\n","New Data Upload               :  19% 87.0M/469M [00:06<00:08, 45.4MB/s, 14.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   4% 97.5M/2.27G [00:06<00:45, 47.4MB/s, 15.7MB/s  ]\n","New Data Upload               :  21% 97.5M/469M [00:06<00:07, 47.4MB/s, 15.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   5% 107M/2.27G [00:06<00:45, 47.3MB/s, 16.7MB/s  ] \n","New Data Upload               :  23% 107M/469M [00:06<00:07, 47.3MB/s, 16.7MB/s  ] \u001b[A\n","\n","Processing Files (0 / 1)      :   5% 123M/2.27G [00:06<00:37, 57.5MB/s, 18.7MB/s  ]\n","New Data Upload               :  26% 123M/469M [00:06<00:06, 57.5MB/s, 18.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   6% 139M/2.27G [00:07<00:33, 63.7MB/s, 20.4MB/s  ]\n","New Data Upload               :  30% 139M/469M [00:07<00:05, 63.7MB/s, 20.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   7% 155M/2.27G [00:07<00:30, 68.2MB/s, 22.1MB/s  ]\n","New Data Upload               :  33% 155M/469M [00:07<00:04, 68.2MB/s, 22.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   7% 167M/2.27G [00:07<00:31, 65.8MB/s, 23.2MB/s  ]\n","New Data Upload               :  31% 167M/536M [00:07<00:05, 65.8MB/s, 23.2MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   8% 181M/2.27G [00:07<00:30, 67.3MB/s, 24.4MB/s  ]\n","New Data Upload               :  34% 181M/536M [00:07<00:05, 67.3MB/s, 24.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   9% 197M/2.27G [00:07<00:28, 71.5MB/s, 25.9MB/s  ]\n","New Data Upload               :  37% 197M/536M [00:07<00:04, 71.5MB/s, 25.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :   9% 211M/2.27G [00:08<00:28, 71.3MB/s, 27.1MB/s  ]\n","New Data Upload               :  35% 211M/603M [00:08<00:05, 71.3MB/s, 27.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  10% 225M/2.27G [00:08<00:29, 70.3MB/s, 28.1MB/s  ]\n","New Data Upload               :  37% 225M/603M [00:08<00:05, 70.3MB/s, 28.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  11% 246M/2.27G [00:08<00:25, 80.7MB/s, 30.0MB/s  ]\n","New Data Upload               :  41% 246M/603M [00:08<00:04, 80.7MB/s, 30.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  12% 262M/2.27G [00:08<00:25, 80.1MB/s, 31.1MB/s  ]\n","New Data Upload               :  43% 262M/603M [00:08<00:04, 80.1MB/s, 31.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  12% 278M/2.27G [00:08<00:24, 81.2MB/s, 32.4MB/s  ]\n","New Data Upload               :  46% 278M/603M [00:08<00:04, 81.2MB/s, 32.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  13% 296M/2.27G [00:09<00:23, 82.7MB/s, 33.6MB/s  ]\n","New Data Upload               :  49% 296M/603M [00:09<00:03, 82.7MB/s, 33.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  14% 307M/2.27G [00:09<00:26, 74.5MB/s, 34.1MB/s  ]\n","New Data Upload               :  51% 307M/603M [00:09<00:03, 74.5MB/s, 34.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  14% 326M/2.27G [00:09<00:23, 81.1MB/s, 35.4MB/s  ]\n","New Data Upload               :  54% 326M/603M [00:09<00:03, 81.1MB/s, 35.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  15% 340M/2.27G [00:09<00:24, 77.3MB/s, 36.1MB/s  ]\n","New Data Upload               :  56% 340M/603M [00:09<00:03, 77.3MB/s, 36.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  16% 355M/2.27G [00:09<00:24, 77.7MB/s, 37.0MB/s  ]\n","New Data Upload               :  59% 355M/603M [00:09<00:03, 77.7MB/s, 37.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  17% 375M/2.27G [00:10<00:22, 83.5MB/s, 38.2MB/s  ]\n","New Data Upload               :  56% 375M/671M [00:10<00:03, 83.5MB/s, 38.2MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  17% 395M/2.27G [00:10<00:21, 89.0MB/s, 39.5MB/s  ]\n","New Data Upload               :  59% 395M/671M [00:10<00:03, 89.0MB/s, 39.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  18% 411M/2.27G [00:10<00:21, 85.8MB/s, 40.3MB/s  ]\n","New Data Upload               :  61% 411M/671M [00:10<00:03, 85.8MB/s, 40.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  19% 428M/2.27G [00:10<00:21, 85.3MB/s, 41.9MB/s  ]\n","New Data Upload               :  64% 428M/671M [00:10<00:02, 85.3MB/s, 41.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  20% 443M/2.27G [00:10<00:21, 83.3MB/s, 43.5MB/s  ]\n","New Data Upload               :  66% 443M/671M [00:10<00:02, 83.3MB/s, 43.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  20% 458M/2.27G [00:11<00:22, 80.2MB/s, 44.9MB/s  ]\n","New Data Upload               :  62% 458M/738M [00:11<00:03, 80.2MB/s, 44.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  21% 478M/2.27G [00:11<00:20, 86.0MB/s, 46.9MB/s  ]\n","New Data Upload               :  65% 478M/738M [00:11<00:03, 86.0MB/s, 46.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  22% 497M/2.27G [00:11<00:20, 88.5MB/s, 48.7MB/s  ]\n","New Data Upload               :  67% 497M/738M [00:11<00:02, 88.5MB/s, 48.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  23% 514M/2.27G [00:11<00:19, 87.8MB/s, 50.4MB/s  ]\n","New Data Upload               :  64% 514M/805M [00:11<00:03, 87.8MB/s, 50.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  24% 535M/2.27G [00:11<00:18, 92.9MB/s, 52.4MB/s  ]\n","New Data Upload               :  66% 535M/805M [00:11<00:02, 92.9MB/s, 52.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  24% 550M/2.27G [00:12<00:19, 87.8MB/s, 53.9MB/s  ]\n","New Data Upload               :  63% 550M/872M [00:12<00:03, 87.8MB/s, 53.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  25% 568M/2.27G [00:12<00:19, 88.2MB/s, 55.7MB/s  ]\n","New Data Upload               :  65% 568M/872M [00:12<00:03, 88.2MB/s, 55.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  26% 586M/2.27G [00:12<00:18, 88.5MB/s, 57.4MB/s  ]\n","New Data Upload               :  67% 586M/872M [00:12<00:03, 88.5MB/s, 57.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  27% 607M/2.27G [00:12<00:17, 94.0MB/s, 59.5MB/s  ]\n","New Data Upload               :  70% 607M/872M [00:12<00:02, 94.1MB/s, 59.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  28% 627M/2.27G [00:12<00:17, 95.0MB/s, 61.4MB/s  ]\n","New Data Upload               :  67% 627M/939M [00:12<00:03, 95.0MB/s, 61.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  29% 649M/2.27G [00:13<00:16, 100MB/s, 63.6MB/s  ] \n","New Data Upload               :  69% 649M/939M [00:13<00:02, 100MB/s, 63.6MB/s  ] \u001b[A\n","\n","Processing Files (0 / 1)      :  29% 668M/2.27G [00:13<00:16, 97.8MB/s, 65.4MB/s  ]\n","New Data Upload               :  71% 668M/939M [00:13<00:02, 97.8MB/s, 65.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  30% 688M/2.27G [00:13<00:15, 99.0MB/s, 67.2MB/s  ]\n","New Data Upload               :  73% 688M/939M [00:13<00:02, 99.0MB/s, 67.2MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  31% 704M/2.27G [00:13<00:16, 93.7MB/s, 68.6MB/s  ]\n","New Data Upload               :  75% 704M/939M [00:13<00:02, 93.7MB/s, 68.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  32% 721M/2.27G [00:13<00:17, 90.0MB/s, 70.2MB/s  ]\n","New Data Upload               :  77% 721M/939M [00:13<00:02, 90.0MB/s, 70.2MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  33% 738M/2.27G [00:14<00:17, 89.7MB/s, 71.8MB/s  ]\n","New Data Upload               :  79% 738M/939M [00:14<00:02, 89.7MB/s, 71.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  33% 756M/2.27G [00:14<00:16, 89.4MB/s, 73.3MB/s  ]\n","New Data Upload               :  81% 756M/939M [00:14<00:02, 89.4MB/s, 73.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  34% 773M/2.27G [00:14<00:17, 87.8MB/s, 74.5MB/s  ]\n","New Data Upload               :  77% 773M/1.01G [00:14<00:02, 87.8MB/s, 74.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  35% 789M/2.27G [00:14<00:17, 85.1MB/s, 75.6MB/s  ]\n","New Data Upload               :  78% 789M/1.01G [00:14<00:02, 85.1MB/s, 75.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  35% 803M/2.27G [00:14<00:18, 80.7MB/s, 76.6MB/s  ]\n","New Data Upload               :  80% 803M/1.01G [00:14<00:02, 80.7MB/s, 76.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  36% 819M/2.27G [00:15<00:17, 81.6MB/s, 77.6MB/s  ]\n","New Data Upload               :  81% 819M/1.01G [00:15<00:02, 81.6MB/s, 77.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  37% 833M/2.27G [00:15<00:18, 77.6MB/s, 78.5MB/s  ]\n","New Data Upload               :  83% 833M/1.01G [00:15<00:02, 77.6MB/s, 78.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  37% 847M/2.27G [00:15<00:19, 74.7MB/s, 79.0MB/s  ]\n","New Data Upload               :  84% 847M/1.01G [00:15<00:02, 74.7MB/s, 79.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  38% 859M/2.27G [00:15<00:19, 71.2MB/s, 79.5MB/s  ]\n","New Data Upload               :  80% 859M/1.07G [00:15<00:02, 71.2MB/s, 79.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  39% 876M/2.27G [00:15<00:18, 74.2MB/s, 80.3MB/s  ]\n","New Data Upload               :  82% 876M/1.07G [00:15<00:02, 74.2MB/s, 80.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  39% 888M/2.27G [00:16<00:19, 70.8MB/s, 80.6MB/s  ]\n","New Data Upload               :  83% 888M/1.07G [00:16<00:02, 70.8MB/s, 80.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  40% 905M/2.27G [00:16<00:18, 75.5MB/s, 81.4MB/s  ]\n","New Data Upload               :  79% 905M/1.14G [00:16<00:03, 75.5MB/s, 81.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  41% 921M/2.27G [00:16<00:17, 76.4MB/s, 81.8MB/s  ]\n","New Data Upload               :  81% 921M/1.14G [00:16<00:02, 76.4MB/s, 81.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  41% 936M/2.27G [00:16<00:17, 75.5MB/s, 82.2MB/s  ]\n","New Data Upload               :  82% 936M/1.14G [00:16<00:02, 75.5MB/s, 82.2MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  42% 951M/2.27G [00:16<00:17, 74.9MB/s, 82.7MB/s  ]\n","New Data Upload               :  79% 951M/1.21G [00:16<00:03, 74.9MB/s, 82.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  43% 966M/2.27G [00:17<00:17, 75.2MB/s, 82.6MB/s  ]\n","New Data Upload               :  80% 966M/1.21G [00:17<00:03, 75.2MB/s, 82.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  43% 978M/2.27G [00:17<00:18, 71.5MB/s, 82.3MB/s  ]\n","New Data Upload               :  81% 978M/1.21G [00:17<00:03, 71.5MB/s, 82.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  44% 998M/2.27G [00:17<00:16, 79.1MB/s, 82.6MB/s  ]\n","New Data Upload               :  78% 998M/1.27G [00:17<00:03, 79.1MB/s, 82.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  44% 1.01G/2.27G [00:17<00:18, 68.8MB/s, 82.3MB/s  ]\n","New Data Upload               :  79% 1.01G/1.27G [00:17<00:03, 68.8MB/s, 82.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  45% 1.02G/2.27G [00:17<00:17, 70.8MB/s, 82.4MB/s  ]\n","New Data Upload               :  76% 1.02G/1.34G [00:17<00:04, 70.8MB/s, 82.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  46% 1.04G/2.27G [00:18<00:15, 80.3MB/s, 82.8MB/s  ]\n","New Data Upload               :  78% 1.04G/1.34G [00:18<00:03, 80.3MB/s, 82.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  47% 1.06G/2.27G [00:18<00:15, 79.8MB/s, 83.0MB/s  ]\n","New Data Upload               :  79% 1.06G/1.34G [00:18<00:03, 79.8MB/s, 83.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  47% 1.08G/2.27G [00:18<00:14, 82.5MB/s, 83.4MB/s  ]\n","New Data Upload               :  80% 1.08G/1.34G [00:18<00:03, 82.5MB/s, 83.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  48% 1.10G/2.27G [00:18<00:13, 89.1MB/s, 83.4MB/s  ]\n","New Data Upload               :  78% 1.10G/1.41G [00:18<00:03, 89.1MB/s, 83.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  49% 1.11G/2.27G [00:18<00:13, 87.6MB/s, 83.5MB/s  ]\n","New Data Upload               :  79% 1.11G/1.41G [00:18<00:03, 87.6MB/s, 83.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  50% 1.13G/2.27G [00:19<00:13, 87.2MB/s, 83.6MB/s  ]\n","New Data Upload               :  77% 1.13G/1.48G [00:19<00:03, 87.2MB/s, 83.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  51% 1.15G/2.27G [00:19<00:12, 87.8MB/s, 83.6MB/s  ]\n","New Data Upload               :  78% 1.15G/1.48G [00:19<00:03, 87.8MB/s, 83.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  51% 1.17G/2.27G [00:19<00:12, 88.3MB/s, 84.3MB/s  ]\n","New Data Upload               :  79% 1.17G/1.48G [00:19<00:03, 88.3MB/s, 84.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  52% 1.18G/2.27G [00:19<00:12, 84.5MB/s, 83.9MB/s  ]\n","New Data Upload               :  80% 1.18G/1.48G [00:19<00:03, 84.5MB/s, 83.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  53% 1.19G/2.27G [00:19<00:13, 78.1MB/s, 83.8MB/s  ]\n","New Data Upload               :  81% 1.19G/1.48G [00:19<00:03, 78.1MB/s, 83.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  53% 1.21G/2.27G [00:20<00:12, 81.2MB/s, 84.0MB/s  ]\n","New Data Upload               :  82% 1.21G/1.48G [00:20<00:03, 81.2MB/s, 84.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  54% 1.23G/2.27G [00:20<00:12, 82.9MB/s, 83.8MB/s  ]\n","New Data Upload               :  83% 1.23G/1.48G [00:20<00:02, 82.9MB/s, 83.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  55% 1.25G/2.27G [00:20<00:11, 87.1MB/s, 83.7MB/s  ]\n","New Data Upload               :  81% 1.25G/1.54G [00:20<00:03, 87.1MB/s, 83.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  56% 1.27G/2.27G [00:20<00:10, 91.7MB/s, 84.1MB/s  ]\n","New Data Upload               :  82% 1.27G/1.54G [00:20<00:02, 91.7MB/s, 84.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  57% 1.28G/2.27G [00:20<00:11, 86.9MB/s, 84.0MB/s  ]\n","New Data Upload               :  83% 1.28G/1.54G [00:20<00:02, 86.9MB/s, 84.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  58% 1.31G/2.27G [00:21<00:10, 92.3MB/s, 84.5MB/s  ]\n","New Data Upload               :  85% 1.31G/1.54G [00:21<00:02, 92.3MB/s, 84.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  58% 1.32G/2.27G [00:21<00:11, 84.2MB/s, 84.3MB/s  ]\n","New Data Upload               :  85% 1.32G/1.54G [00:21<00:02, 84.2MB/s, 84.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  59% 1.34G/2.27G [00:21<00:11, 84.1MB/s, 84.0MB/s  ]\n","New Data Upload               :  83% 1.34G/1.61G [00:21<00:03, 84.1MB/s, 84.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  60% 1.35G/2.27G [00:21<00:10, 83.3MB/s, 83.8MB/s  ]\n","New Data Upload               :  84% 1.35G/1.61G [00:21<00:03, 83.3MB/s, 83.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  60% 1.37G/2.27G [00:21<00:10, 84.3MB/s, 83.8MB/s  ]\n","New Data Upload               :  85% 1.37G/1.61G [00:21<00:02, 84.3MB/s, 83.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  61% 1.39G/2.27G [00:22<00:10, 87.3MB/s, 83.6MB/s  ]\n","New Data Upload               :  86% 1.39G/1.61G [00:22<00:02, 87.3MB/s, 83.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  62% 1.41G/2.27G [00:22<00:09, 87.6MB/s, 83.8MB/s  ]\n","New Data Upload               :  87% 1.41G/1.61G [00:22<00:02, 87.6MB/s, 83.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  63% 1.42G/2.27G [00:22<00:09, 88.0MB/s, 83.8MB/s  ]\n","New Data Upload               :  85% 1.42G/1.68G [00:22<00:02, 88.0MB/s, 83.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  63% 1.44G/2.27G [00:22<00:10, 82.1MB/s, 83.4MB/s  ]\n","New Data Upload               :  86% 1.44G/1.68G [00:22<00:02, 82.1MB/s, 83.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  64% 1.45G/2.27G [00:22<00:10, 80.3MB/s, 82.8MB/s  ]\n","New Data Upload               :  87% 1.45G/1.68G [00:22<00:02, 80.3MB/s, 82.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  65% 1.47G/2.27G [00:23<00:09, 83.7MB/s, 82.7MB/s  ]\n","New Data Upload               :  84% 1.47G/1.74G [00:23<00:03, 83.7MB/s, 82.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  66% 1.49G/2.27G [00:23<00:08, 90.7MB/s, 82.6MB/s  ]\n","New Data Upload               :  86% 1.49G/1.74G [00:23<00:02, 90.7MB/s, 82.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  66% 1.51G/2.27G [00:23<00:08, 86.3MB/s, 82.3MB/s  ]\n","New Data Upload               :  86% 1.51G/1.74G [00:23<00:02, 86.3MB/s, 82.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  67% 1.52G/2.27G [00:23<00:09, 80.8MB/s, 81.6MB/s  ]\n","New Data Upload               :  84% 1.52G/1.81G [00:23<00:03, 80.8MB/s, 81.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  68% 1.54G/2.27G [00:23<00:08, 87.3MB/s, 82.0MB/s  ]\n","New Data Upload               :  85% 1.54G/1.81G [00:23<00:03, 87.3MB/s, 82.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  69% 1.56G/2.27G [00:24<00:08, 83.8MB/s, 81.9MB/s  ]\n","New Data Upload               :  86% 1.56G/1.81G [00:24<00:03, 83.8MB/s, 81.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  69% 1.57G/2.27G [00:24<00:08, 85.5MB/s, 81.9MB/s  ]\n","New Data Upload               :  87% 1.57G/1.81G [00:24<00:02, 85.5MB/s, 81.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  70% 1.59G/2.27G [00:24<00:07, 89.7MB/s, 82.1MB/s  ]\n","New Data Upload               :  88% 1.59G/1.81G [00:24<00:02, 89.7MB/s, 82.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  71% 1.62G/2.27G [00:24<00:06, 100MB/s, 82.9MB/s  ] \n","New Data Upload               :  86% 1.62G/1.88G [00:24<00:02, 100MB/s, 82.9MB/s  ] \u001b[A\n","\n","Processing Files (0 / 1)      :  72% 1.63G/2.27G [00:24<00:06, 93.9MB/s, 82.9MB/s  ]\n","New Data Upload               :  87% 1.63G/1.88G [00:24<00:02, 93.9MB/s, 82.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  73% 1.65G/2.27G [00:25<00:06, 91.7MB/s, 83.3MB/s  ]\n","New Data Upload               :  85% 1.65G/1.94G [00:25<00:03, 91.7MB/s, 83.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  74% 1.67G/2.27G [00:25<00:06, 90.1MB/s, 83.3MB/s  ]\n","New Data Upload               :  86% 1.67G/1.94G [00:25<00:03, 90.1MB/s, 83.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  74% 1.69G/2.27G [00:25<00:06, 90.6MB/s, 83.8MB/s  ]\n","New Data Upload               :  87% 1.69G/1.94G [00:25<00:02, 90.6MB/s, 83.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  75% 1.71G/2.27G [00:25<00:06, 91.8MB/s, 84.3MB/s  ]\n","New Data Upload               :  88% 1.71G/1.94G [00:25<00:02, 91.8MB/s, 84.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  76% 1.72G/2.27G [00:25<00:06, 88.6MB/s, 84.6MB/s  ]\n","New Data Upload               :  89% 1.72G/1.94G [00:25<00:02, 88.6MB/s, 84.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  77% 1.74G/2.27G [00:26<00:06, 82.5MB/s, 84.4MB/s  ]\n","New Data Upload               :  89% 1.74G/1.94G [00:26<00:02, 82.5MB/s, 84.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  77% 1.76G/2.27G [00:26<00:05, 88.5MB/s, 85.2MB/s  ]\n","New Data Upload               :  87% 1.76G/2.01G [00:26<00:02, 88.5MB/s, 85.2MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  78% 1.77G/2.27G [00:26<00:05, 85.4MB/s, 85.0MB/s  ]\n","New Data Upload               :  88% 1.77G/2.01G [00:26<00:02, 85.4MB/s, 85.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  79% 1.79G/2.27G [00:26<00:05, 90.4MB/s, 85.5MB/s  ]\n","New Data Upload               :  86% 1.79G/2.08G [00:26<00:03, 90.4MB/s, 85.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  80% 1.81G/2.27G [00:26<00:05, 90.8MB/s, 85.8MB/s  ]\n","New Data Upload               :  87% 1.81G/2.08G [00:26<00:02, 90.8MB/s, 85.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  81% 1.84G/2.27G [00:27<00:04, 101MB/s, 86.9MB/s  ] \n","New Data Upload               :  88% 1.84G/2.08G [00:27<00:02, 101MB/s, 86.9MB/s  ] \u001b[A\n","\n","Processing Files (0 / 1)      :  82% 1.85G/2.27G [00:27<00:04, 96.9MB/s, 87.1MB/s  ]\n","New Data Upload               :  89% 1.85G/2.08G [00:27<00:02, 96.9MB/s, 87.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  82% 1.87G/2.27G [00:27<00:04, 93.0MB/s, 87.5MB/s  ]\n","New Data Upload               :  90% 1.87G/2.08G [00:27<00:02, 93.0MB/s, 87.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  83% 1.89G/2.27G [00:27<00:04, 88.6MB/s, 87.1MB/s  ]\n","New Data Upload               :  88% 1.89G/2.15G [00:27<00:02, 88.6MB/s, 87.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  84% 1.90G/2.27G [00:27<00:04, 88.0MB/s, 87.9MB/s  ]\n","New Data Upload               :  89% 1.90G/2.15G [00:27<00:02, 88.0MB/s, 87.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  85% 1.92G/2.27G [00:28<00:04, 86.0MB/s, 88.0MB/s  ]\n","New Data Upload               :  89% 1.92G/2.15G [00:28<00:02, 86.0MB/s, 88.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  85% 1.93G/2.27G [00:28<00:04, 79.0MB/s, 87.3MB/s  ]\n","New Data Upload               :  90% 1.93G/2.15G [00:28<00:02, 79.0MB/s, 87.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  86% 1.95G/2.27G [00:28<00:03, 84.2MB/s, 87.6MB/s  ]\n","New Data Upload               :  91% 1.95G/2.15G [00:28<00:02, 84.2MB/s, 87.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  87% 1.96G/2.27G [00:28<00:03, 77.8MB/s, 87.1MB/s  ]\n","New Data Upload               :  92% 1.96G/2.15G [00:28<00:02, 77.8MB/s, 87.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  87% 1.98G/2.27G [00:28<00:03, 79.6MB/s, 86.7MB/s  ]\n","New Data Upload               :  90% 1.98G/2.21G [00:28<00:02, 79.6MB/s, 86.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  88% 2.00G/2.27G [00:29<00:03, 80.1MB/s, 86.6MB/s  ]\n","New Data Upload               :  90% 2.00G/2.21G [00:29<00:02, 80.1MB/s, 86.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  89% 2.01G/2.27G [00:29<00:03, 77.3MB/s, 86.3MB/s  ]\n","New Data Upload               :  91% 2.01G/2.21G [00:29<00:02, 77.3MB/s, 86.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  89% 2.03G/2.27G [00:29<00:02, 80.9MB/s, 86.3MB/s  ]\n","New Data Upload               :  89% 2.03G/2.27G [00:29<00:02, 80.9MB/s, 86.3MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  90% 2.04G/2.27G [00:29<00:03, 73.0MB/s, 85.7MB/s  ]\n","New Data Upload               :  90% 2.04G/2.27G [00:29<00:03, 73.0MB/s, 85.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  91% 2.06G/2.27G [00:29<00:02, 74.7MB/s, 85.7MB/s  ]\n","New Data Upload               :  91% 2.06G/2.27G [00:29<00:02, 74.7MB/s, 85.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  91% 2.07G/2.27G [00:30<00:02, 68.8MB/s, 85.6MB/s  ]\n","New Data Upload               :  91% 2.07G/2.27G [00:30<00:02, 68.8MB/s, 85.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  92% 2.08G/2.27G [00:30<00:02, 64.0MB/s, 84.9MB/s  ]\n","New Data Upload               :  92% 2.08G/2.27G [00:30<00:02, 64.0MB/s, 84.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  92% 2.09G/2.27G [00:30<00:02, 69.9MB/s, 84.8MB/s  ]\n","New Data Upload               :  92% 2.09G/2.27G [00:30<00:02, 69.9MB/s, 84.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  93% 2.11G/2.27G [00:30<00:02, 67.0MB/s, 84.1MB/s  ]\n","New Data Upload               :  93% 2.11G/2.27G [00:30<00:02, 67.0MB/s, 84.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  94% 2.12G/2.27G [00:30<00:02, 71.9MB/s, 83.7MB/s  ]\n","New Data Upload               :  94% 2.12G/2.27G [00:30<00:02, 71.9MB/s, 83.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  94% 2.13G/2.27G [00:31<00:01, 68.5MB/s, 83.4MB/s  ]\n","New Data Upload               :  94% 2.13G/2.27G [00:31<00:01, 68.5MB/s, 83.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  95% 2.15G/2.27G [00:31<00:01, 69.2MB/s, 82.7MB/s  ]\n","New Data Upload               :  95% 2.15G/2.27G [00:31<00:01, 69.2MB/s, 82.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  95% 2.16G/2.27G [00:31<00:01, 66.5MB/s, 82.6MB/s  ]\n","New Data Upload               :  95% 2.16G/2.27G [00:31<00:01, 66.5MB/s, 82.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  96% 2.17G/2.27G [00:31<00:01, 60.7MB/s, 81.9MB/s  ]\n","New Data Upload               :  96% 2.17G/2.27G [00:31<00:01, 60.7MB/s, 81.9MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  96% 2.18G/2.27G [00:31<00:01, 56.5MB/s, 81.2MB/s  ]\n","New Data Upload               :  96% 2.18G/2.27G [00:31<00:01, 56.5MB/s, 81.2MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  97% 2.19G/2.27G [00:32<00:01, 53.8MB/s, 80.5MB/s  ]\n","New Data Upload               :  97% 2.19G/2.27G [00:32<00:01, 53.8MB/s, 80.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  97% 2.20G/2.27G [00:32<00:01, 49.3MB/s, 79.4MB/s  ]\n","New Data Upload               :  97% 2.20G/2.27G [00:32<00:01, 49.3MB/s, 79.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  97% 2.20G/2.27G [00:32<00:01, 45.5MB/s, 78.4MB/s  ]\n","New Data Upload               :  97% 2.20G/2.27G [00:32<00:01, 45.5MB/s, 78.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  98% 2.21G/2.27G [00:32<00:01, 46.0MB/s, 77.6MB/s  ]\n","New Data Upload               :  98% 2.21G/2.27G [00:32<00:01, 46.0MB/s, 77.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  98% 2.22G/2.27G [00:32<00:00, 45.6MB/s, 77.1MB/s  ]\n","New Data Upload               :  98% 2.22G/2.27G [00:32<00:00, 45.6MB/s, 77.1MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  98% 2.23G/2.27G [00:33<00:00, 46.0MB/s, 76.5MB/s  ]\n","New Data Upload               :  98% 2.23G/2.27G [00:33<00:00, 46.0MB/s, 76.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  99% 2.24G/2.27G [00:33<00:00, 42.4MB/s, 75.4MB/s  ]\n","New Data Upload               :  99% 2.24G/2.27G [00:33<00:00, 42.4MB/s, 75.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  99% 2.24G/2.27G [00:33<00:00, 36.0MB/s, 73.7MB/s  ]\n","New Data Upload               :  99% 2.24G/2.27G [00:33<00:00, 36.0MB/s, 73.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  99% 2.25G/2.27G [00:33<00:00, 29.9MB/s, 72.5MB/s  ]\n","New Data Upload               :  99% 2.25G/2.27G [00:33<00:00, 29.9MB/s, 72.5MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  99% 2.25G/2.27G [00:33<00:00, 24.9MB/s, 71.4MB/s  ]\n","New Data Upload               :  99% 2.25G/2.27G [00:33<00:00, 24.9MB/s, 71.4MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  99% 2.25G/2.27G [00:34<00:00, 22.1MB/s, 69.7MB/s  ]\n","New Data Upload               :  99% 2.25G/2.27G [00:34<00:00, 22.1MB/s, 69.7MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      :  99% 2.26G/2.27G [00:34<00:00, 21.0MB/s, 68.6MB/s  ]\n","New Data Upload               :  99% 2.26G/2.27G [00:34<00:00, 21.0MB/s, 68.6MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      : 100% 2.26G/2.27G [00:34<00:00, 19.7MB/s, 67.2MB/s  ]\n","New Data Upload               : 100% 2.26G/2.27G [00:34<00:00, 19.7MB/s, 67.2MB/s  ]\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.26G/2.27G [00:32<00:00, 70.1MB/s]\u001b[A\u001b[A\n","\n","Processing Files (0 / 1)      : 100% 2.26G/2.27G [00:34<00:00, 13.6MB/s, 63.0MB/s  ]\n","New Data Upload               : 100% 2.26G/2.27G [00:34<00:00, 13.6MB/s, 63.0MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      : 100% 2.26G/2.27G [00:35<00:00, 14.1MB/s, 61.8MB/s  ]\n","New Data Upload               : 100% 2.26G/2.27G [00:35<00:00, 14.1MB/s, 61.8MB/s  ]\u001b[A\n","\n","Processing Files (0 / 1)      : 100% 2.27G/2.27G [00:35<00:00, 13.2MB/s, 60.3MB/s  ]\n","New Data Upload               : 100% 2.27G/2.27G [00:35<00:00, 13.2MB/s, 60.3MB/s  ]\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:33<00:00, 68.7MB/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:33<00:00, 68.3MB/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:33<00:00, 67.9MB/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:33<00:00, 67.5MB/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:33<00:00, 67.1MB/s]\u001b[A\u001b[A\n","\n","Processing Files (1 / 1)      : 100% 2.27G/2.27G [00:36<00:00, 4.35MB/s, 50.1MB/s  ]\n","New Data Upload               : 100% 2.27G/2.27G [00:36<00:00, 4.35MB/s, 50.1MB/s  ]\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:34<00:00, 66.3MB/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:34<00:00, 65.9MB/s]\u001b[A\u001b[A\n","\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:34<00:00, 65.5MB/s]\u001b[A\u001b[A\n","\n","Processing Files (1 / 1)      : 100% 2.27G/2.27G [00:37<00:00, 61.2MB/s, 43.1MB/s  ]\n","New Data Upload               : 100% 2.27G/2.27G [00:37<00:00, 61.2MB/s, 43.1MB/s  ]\n","  ...tent/PartField/sample.zip: 100% 2.27G/2.27G [00:34<00:00, 65.5MB/s]\n","https://huggingface.co/datasets/Silly98/chiller_output/blob/main/sample.zip\n"]}]},{"cell_type":"code","source":["!huggingface-cli login"],"metadata":{"id":"WSTrhP0h8f0R","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767768538256,"user_tz":480,"elapsed":26325,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"f24bf96a-c188-4d72-c635-fb2790046d13"},"execution_count":23,"outputs":[{"output_type":"stream","name":"stdout","text":["\u001b[33m⚠️  Warning: 'huggingface-cli login' is deprecated. Use 'hf auth login' instead.\u001b[0m\n","\n","    _|    _|  _|    _|    _|_|_|    _|_|_|  _|_|_|  _|      _|    _|_|_|      _|_|_|_|    _|_|      _|_|_|  _|_|_|_|\n","    _|    _|  _|    _|  _|        _|          _|    _|_|    _|  _|            _|        _|    _|  _|        _|\n","    _|_|_|_|  _|    _|  _|  _|_|  _|  _|_|    _|    _|  _|  _|  _|  _|_|      _|_|_|    _|_|_|_|  _|        _|_|_|\n","    _|    _|  _|    _|  _|    _|  _|    _|    _|    _|    _|_|  _|    _|      _|        _|    _|  _|        _|\n","    _|    _|    _|_|      _|_|_|    _|_|_|  _|_|_|  _|      _|    _|_|_|      _|        _|    _|    _|_|_|  _|_|_|_|\n","\n","    To log in, `huggingface_hub` requires a token generated from https://huggingface.co/settings/tokens .\n","Enter your token (input will not be visible): \n","Add token as git credential? (Y/n) n\n","Token is valid (permission: fineGrained).\n","The token `sam3` has been saved to /root/.cache/huggingface/stored_tokens\n","Your token has been saved to /root/.cache/huggingface/token\n","Login successful.\n","The current active token is: `sam3`\n"]}]},{"cell_type":"code","source":[],"metadata":{"id":"bQopS21WGJQ_"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[],"metadata":{"id":"W9RHMyZ5GIkU"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[],"metadata":{"id":"ND2EEAjXGIZ8"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["!zip -r sample.zip sample/"],"metadata":{"id":"O3srVhdXGIQR","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1767767940382,"user_tz":480,"elapsed":132272,"user":{"displayName":"navin shrivatsan","userId":"02096111809868742973"}},"outputId":"267e43a0-ca95-4be4-f8e5-36fe61b3ca0e"},"execution_count":21,"outputs":[{"output_type":"stream","name":"stdout","text":["  adding: sample/ (stored 0%)\n","  adding: sample/final_model.ckpt (deflated 9%)\n","  adding: sample/last.ckpt (deflated 9%)\n"]}]},{"cell_type":"code","source":[],"metadata":{"id":"EdtGngXRIhVJ"},"execution_count":null,"outputs":[]}],"metadata":{"colab":{"provenance":[],"gpuType":"L4","machine_shape":"hm"},"kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"name":"python"},"accelerator":"GPU"},"nbformat":4,"nbformat_minor":0}