diff --git a/README.md b/README.md index 42a9e60..cc5a2bf 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,31 @@ While the fields of technology and dance have historically not often intersected - If time permits: Learn key relationships between parts of the body of each dancer that are integral to the dynamics of the duet - We will collaborate with the original dancers to use the model outputs to inspire new performance material +## Environment Setup +To ensure reproducibility of the choreography analysis and machine learning experiments, please follow these steps to set up your local environment. +### Prerequisites +- Python 3.10 is recommended. +Virtual Environment: It is highly recommended to use venv or conda to manage dependencies. +### Installation +#### 1.Clone the repository +- git clone https://github.com/humanai-foundation/ChoreoAI.git +- cd ChoreoAI + +### 2.Create a virtual environment +- python -m venv venv + +### 3.Activate the environment +- On macOS/Linux: +source venv/bin/activate +- On Windows: +.\venv\Scripts\activate + +### 4.Upgrade pip and install dependencies +- pip install --upgrade pip +- pip install -r requirements.txt +### Special note on PyTorch & Hardware +- The requirements.txt file includes torch and torch-geometric. Depending on your hardware (CPU vs. NVIDIA GPU), you may need to install a specific version of PyTorch. If the default installation does not detect your GPU, please refer to the official PyTorch guide. + ## Projects | Contributor | Approach | Repository Link | Blog Post | |-----------------|-----------------|-----------------|-----------------| diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..d6ff415 --- /dev/null +++ b/requirements.in @@ -0,0 +1,9 @@ +torch==2.2.1 +torch-geometric==2.5.0 +numpy==1.26.4 +scipy==1.12.0 +matplotlib==3.8.3 +mpl-tools==0.4.0 +ipython==8.22.1 +ipykernel +tqdm==4.66.2 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..db8396a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,181 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile requirements.in +# +aiohttp==3.9.3 + # via torch-geometric +aiosignal==1.3.1 + # via aiohttp +asttokens==2.4.1 + # via stack-data +async-timeout==4.0.3 + # via aiohttp +attrs==23.2.0 + # via aiohttp +certifi==2024.2.2 + # via requests +charset-normalizer==3.3.2 + # via requests +contourpy==1.2.0 + # via matplotlib +cycler==0.12.1 + # via matplotlib +decorator==5.1.1 + # via ipython +exceptiongroup==1.2.0 + # via ipython +executing==2.0.1 + # via stack-data +filelock==3.13.1 + # via + # torch + # triton +fonttools==4.49.0 + # via matplotlib +frozenlist==1.4.1 + # via + # aiohttp + # aiosignal +fsspec==2024.2.0 + # via + # torch + # torch-geometric +idna==3.6 + # via + # requests + # yarl +ipython==8.22.1 + # via -r requirements.in +jedi==0.19.1 + # via ipython +jinja2==3.1.3 + # via + # torch + # torch-geometric +joblib==1.3.2 + # via scikit-learn +kiwisolver==1.4.5 + # via matplotlib +markupsafe==2.1.5 + # via jinja2 +matplotlib==3.8.3 + # via + # -r requirements.in + # mpl-tools +matplotlib-inline==0.1.6 + # via ipython +mpl-tools==0.4.0 + # via -r requirements.in +mpmath==1.3.0 + # via sympy +multidict==6.0.5 + # via + # aiohttp + # yarl +networkx==3.2.1 + # via torch +numpy==1.26.4 + # via + # -r requirements.in + # contourpy + # matplotlib + # scikit-learn + # scipy + # torch-geometric +nvidia-cublas-cu12==12.1.3.1 + # via + # nvidia-cudnn-cu12 + # nvidia-cusolver-cu12 + # torch +nvidia-cuda-cupti-cu12==12.1.105 + # via torch +nvidia-cuda-nvrtc-cu12==12.1.105 + # via torch +nvidia-cuda-runtime-cu12==12.1.105 + # via torch +nvidia-cudnn-cu12==8.9.2.26 + # via torch +nvidia-cufft-cu12==11.0.2.54 + # via torch +nvidia-curand-cu12==10.3.2.106 + # via torch +nvidia-cusolver-cu12==11.4.5.107 + # via torch +nvidia-cusparse-cu12==12.1.0.106 + # via + # nvidia-cusolver-cu12 + # torch +nvidia-nccl-cu12==2.19.3 + # via torch +nvidia-nvjitlink-cu12==12.4.99 + # via + # nvidia-cusolver-cu12 + # nvidia-cusparse-cu12 +nvidia-nvtx-cu12==12.1.105 + # via torch +packaging==23.2 + # via matplotlib +parso==0.8.3 + # via jedi +pexpect==4.9.0 + # via ipython +pillow==10.2.0 + # via matplotlib +prompt-toolkit==3.0.43 + # via ipython +psutil==5.9.8 + # via torch-geometric +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.2 + # via stack-data +pygments==2.17.2 + # via ipython +pyparsing==3.1.2 + # via + # matplotlib + # torch-geometric +python-dateutil==2.9.0.post0 + # via matplotlib +requests==2.31.0 + # via torch-geometric +scikit-learn==1.4.1.post1 + # via torch-geometric +scipy==1.12.0 + # via + # scikit-learn + # torch-geometric +six==1.16.0 + # via + # asttokens + # python-dateutil +stack-data==0.6.3 + # via ipython +sympy==1.12 + # via torch +threadpoolctl==3.3.0 + # via scikit-learn +torch==2.2.1 + # via -r requirements.in +torch-geometric==2.5.0 + # via -r requirements.in +tqdm==4.66.2 + # via + # -r requirements.in + # torch-geometric +traitlets==5.14.1 + # via + # ipython + # matplotlib-inline +triton==2.2.0 + # via torch +typing-extensions==4.10.0 + # via torch +urllib3==2.2.1 + # via requests +wcwidth==0.2.13 + # via prompt-toolkit +yarl==1.9.4 + # via aiohttp \ No newline at end of file