diff --git a/README.md b/README.md index 2c30edc..e665d64 100644 --- a/README.md +++ b/README.md @@ -1,71 +1,208 @@ +# Deeplearning 使用说明 -## Preliminary -1. 对于每一个类,将数据如下处理, 保存成xlsx或者xls文件 +## 1. 项目约定 -| | | | | -|-------|-------|-------|-------| -| arbitrary value | value | arbitrary value | vlaue | -| arbitrary value | value | arbitrary value | vlaue | +### 1.1 输入数据格式 +每一类数据建议保存为 `xlsx/xls`。读取时默认取偶数列(索引 1,3,5...)作为特征,奇数列内容可忽略。 -即偶数列为一次循环的数据,奇数列为任意值即可 +示意: -2. 配置conda环境 -> pass - - -## Quickly Start -1. 将项目文件夹编辑成**日期+项目名** -2. 编辑好label名称,label名称命名变成英文或者数字 ->例如:”PDMS“, ”1“ 等, , 如果你的每一个类,下面又多个子特征则可以建立一个文件夹,在创建神经网络类的时候将**isDir**参数改成True即可. ->详细如下图: ->2.1. 如果只有一类特征 -> ![image.png](https://qq-pic.oss-cn-nanjing.aliyuncs.com/img/2024-12-28-f7f922-image.png) ->2.2. 如果有多类特征 ->![image.png](https://qq-pic.oss-cn-nanjing.aliyuncs.com/img/2024-12-28-e6a2bf-image.png) -3. 将准备好的文件夹移动到**Static**文件夹中(没有就建立),如果没有 **Result** 建立一个**Result**文件夹用来存放结果 - -4. 读取数据: -```python - # 以MaterialDiv为例 - projet_name = '20241009MaterialDiv' - label_names = ['Acrlic', 'Ecoflex', 'PDMS', 'PLA', 'Wood'] - # 使用库 divSet 划分训练集和数据集 - data = load_data(projet_name, label_names, isDir=False, fileClass='xlsx') -``` - -5. 创建神经网络类 -```python - model = Qmlp( - X_train=X_train, X_test=X_test, y_train=y_train, y_test= y_test, - hidden_layers = [128], - dropout_rate=0 - ) -``` - -6. 训练并获取数据 -```python - pca_2d, pca_3d = model.get_PCA() - - model.fit(300) - - cm = model.get_cm() - epoch_data = model.get_epoch_data() - - save_to_xlsx(project_name=projet_name, file_name="pca_2d", data=pca_2d) - save_to_xlsx(project_name=projet_name, file_name="pca_3d", data=pca_3d) - save_to_xlsx(project_name=projet_name, file_name="cm", data=cm ) - save_to_xlsx(project_name=projet_name, file_name="acc_and_loss", data=epoch_data) -``` -## Advanced -### loadData 处理数据工具的使用 -||参数类型|默认值|参数作用| +| 任意值 | 特征值 | 任意值 | 特征值 | |---|---|---|---| -|folder|str|必填项|指定数据存放在Static下的哪个文件夹| -|lableNames| list| 必填项| 指定每一个类的label名称, 既可以用来读取相应的文件,也可以用来给label排序| -|isDir| bool| True| 若是上文Quickly Strat章节2.1情况需要改成False,2.2情况则是True| -|fileClass| str| 'xlsx'| 数据文件的后缀| -> tips: 数据读取是按照一下情况读取的(2.1和2.2是Quickly Start章节的2.1和2.2简称): -> 2.1情况的第一类数据读取的地址是 ./Static/folder/labelsNames[0].xlsx, 其他类同理 -> 2.2情况的第二类数据读取的地址是 ./Static/folder/labelsNames[0]/*.xlsx, 其他同理 -### Qmlp 模型使用 -> pass +| arbitrary value | value | arbitrary value | value | +| arbitrary value | value | arbitrary value | value | + +### 1.2 目录约定 +训练数据放在 `Static/`,输出结果放在 `Result/`。 + +推荐目录: + +```text +. +├─ Static/ +│ └─ 20241009MaterialDiv/ +└─ Result/ +``` + +## 2. Conda 环境迁移 + +环境文件在 `conda_env/`: + +- `conda_env/environment.portable.yml`:通用迁移(推荐) +- `conda_env/environment.lock.txt`:精确锁定(同系统/同架构优先) +- `conda_env/env.yml`:历史文件 + +### 2.1 创建环境 + +```bash +# 方式1(推荐):通用创建 +conda env create -f conda_env/environment.portable.yml +conda activate Deeplearning + +# 方式2:精确复现 +conda create -n Deeplearning --file conda_env/environment.lock.txt +conda activate Deeplearning + +# 验证 +python -V +python -c "import torch; print(torch.__version__)" +``` + +### 2.2 同名环境已存在时 + +```bash +# 方式A:保留旧环境,改名创建 +conda env create -f conda_env/environment.portable.yml -n Deeplearning_v2 +conda activate Deeplearning_v2 + +# 或者(lock 方式) +conda create -n Deeplearning_v2 --file conda_env/environment.lock.txt +conda activate Deeplearning_v2 +``` + +```bash +# 方式B:删除旧环境后重建(谨慎) +conda env remove -n Deeplearning +conda env create -f conda_env/environment.portable.yml +conda activate Deeplearning +``` + +### 2.3 重新导出环境 + +```bash +conda env export -n Deeplearning --no-builds > conda_env/environment.portable.yml +conda list -n Deeplearning --explicit > conda_env/environment.lock.txt +``` + +## 3. 快速开始 + +### 3.1 准备数据 +1. 将数据目录命名为 `日期+项目名`,例如 `20241009MaterialDiv`。 +2. 准备 `label_names`(建议英文或数字)。 +3. 将数据目录放入 `Static/`。 + +### 3.2 数据目录模板 + +单文件模式(`isDir=False`): + +```text +Static/ + 20241009MaterialDiv/ + Acrlic.xlsx + Ecoflex.xlsx + PDMS.xlsx + PLA.xlsx + Wood.xlsx +``` + +多子特征模式(`isDir=True`): + +```text +Static/ + 20241009MaterialDiv/ + Acrlic/ + sample_01.xlsx + sample_02.xlsx + Ecoflex/ + sample_01.xlsx + sample_02.xlsx + PDMS/ + sample_01.xlsx + sample_02.xlsx + PLA/ + sample_01.xlsx + sample_02.xlsx + Wood/ + sample_01.xlsx + sample_02.xlsx +``` + +命名规则(重要): + +- `label_names` 中每一项必须与文件名(`isDir=False`)或子文件夹名(`isDir=True`)完全一致(区分大小写)。 +- `label_names` 顺序就是标签编码顺序,训练结果和混淆矩阵按该顺序展示。 + +示例: + +```python +label_names = ['Acrlic', 'Ecoflex', 'PDMS', 'PLA', 'Wood'] +``` + +对应关系: + +```text +Acrlic <-> Acrlic.xlsx 或 Acrlic/ +Ecoflex <-> Ecoflex.xlsx 或 Ecoflex/ +PDMS <-> PDMS.xlsx 或 PDMS/ +PLA <-> PLA.xlsx 或 PLA/ +Wood <-> Wood.xlsx 或 Wood/ +``` + +### 3.3 训练示例 + +```python +from Qtorch.Models.Qmlp import Qmlp +from Qfunctions.divSet import divSet +from Qfunctions.loaData import load_data +from Qfunctions.saveToxlsx import save_to_xlsx + +projet_name = '20241009MaterialDiv' +label_names = ['Acrlic', 'Ecoflex', 'PDMS', 'PLA', 'Wood'] + +# 读取数据 +data = load_data(projet_name, label_names, isDir=False, fileClass='xlsx') + +# 划分训练/测试集 +X_train, X_test, y_train, y_test, encoder = divSet( + data=data, + labels=label_names, + test_size=0.3 +) + +# 构建模型 +model = Qmlp( + X_train=X_train, + X_test=X_test, + y_train=y_train, + y_test=y_test, + hidden_layers=[128], + dropout_rate=0 +) + +# 训练与导出结果 +pca_2d, pca_3d = model.get_PCA() +model.fit(300) + +cm = model.get_cm() +cmn = model.get_cmn() +epoch_data = model.get_epoch_data() + +save_to_xlsx(project_name=projet_name, file_name='pca_2d', data=pca_2d) +save_to_xlsx(project_name=projet_name, file_name='pca_3d', data=pca_3d) +save_to_xlsx(project_name=projet_name, file_name='cm', data=cm) +save_to_xlsx(project_name=projet_name, file_name='cmn', data=cmn) +save_to_xlsx(project_name=projet_name, file_name='acc_and_loss', data=epoch_data) +``` + +## 4. load_data 参数说明 + +| 参数 | 类型 | 默认值 | 说明 | +|---|---|---|---| +| folder | str | 必填 | `Static/` 下的数据目录名 | +| labelNames | list | 必填 | 类别名称列表,用于读取和排序标签 | +| isDir | bool | True | `False` 对应单文件模式,`True` 对应多子特征模式 | +| fileClass | str | xlsx | 数据文件后缀 | + +读取路径规则: + +- 单文件模式:`./Static/folder/labelNames[i].xlsx` +- 多子特征模式:`./Static/folder/labelNames[i]/*.xlsx` + +## 5. 常见问题 + +### 5.1 找不到文件 +优先检查: + +- `label_names` 与文件/文件夹是否同名 +- `isDir` 是否与目录结构匹配 +- 文件后缀是否与 `fileClass` 一致 diff --git a/env.yml b/conda_env/env.yml similarity index 100% rename from env.yml rename to conda_env/env.yml diff --git a/conda_env/environment.lock.txt b/conda_env/environment.lock.txt new file mode 100644 index 0000000..a86e66b --- /dev/null +++ b/conda_env/environment.lock.txt @@ -0,0 +1,163 @@ +# This file may be used to create an environment using: +# $ conda create --name --file +# platform: linux-64 +# created-by: conda 26.1.1 +@EXPLICIT +https://repo.anaconda.com/pkgs/main/linux-64/_libgcc_mutex-0.1-main.conda +https://repo.anaconda.com/pkgs/main/linux-64/blas-1.0-mkl.conda +https://repo.anaconda.com/pkgs/main/linux-64/ca-certificates-2024.11.26-h06a4308_0.conda +https://conda.anaconda.org/nvidia/linux-64/cuda-cudart-12.4.127-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/cuda-cupti-12.4.127-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/cuda-nvrtc-12.4.127-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/cuda-nvtx-12.4.127-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/cuda-opencl-12.4.127-0.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/ld_impl_linux-64-2.38-h1181459_1.conda +https://conda.anaconda.org/nvidia/linux-64/libcublas-12.4.2.65-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libcufft-11.2.0.44-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libcufile-1.9.1.3-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libcurand-10.3.5.147-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libcusolver-11.6.0.99-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libcusparse-12.3.0.142-0.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/libgfortran5-11.2.0-h1234567_1.conda +https://conda.anaconda.org/nvidia/linux-64/libnpp-12.2.5.2-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libnvfatbin-12.4.127-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libnvjitlink-12.4.99-0.tar.bz2 +https://conda.anaconda.org/nvidia/linux-64/libnvjpeg-12.3.1.89-0.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/libstdcxx-ng-11.2.0-h1234567_1.conda +https://repo.anaconda.com/pkgs/main/noarch/pybind11-abi-5-hd3eb1b0_0.conda +https://conda.anaconda.org/pytorch/noarch/pytorch-mutex-1.0-cuda.tar.bz2 +https://repo.anaconda.com/pkgs/main/noarch/tzdata-2024a-h04d1e81_0.conda +https://conda.anaconda.org/nvidia/linux-64/cuda-libraries-12.4.0-0.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/libgfortran-ng-11.2.0-h00389a5_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/libgomp-11.2.0-h1234567_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/_openmp_mutex-5.1-1_gnu.conda +https://conda.anaconda.org/nvidia/linux-64/cuda-runtime-12.4.0-0.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/libgcc-ng-11.2.0-h1234567_1.conda +https://conda.anaconda.org/pytorch/linux-64/pytorch-cuda-12.4-hc786d27_6.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/bzip2-1.0.8-h5eee18b_6.conda +https://conda.anaconda.org/nvidia/linux-64/cudatoolkit-11.5.1-hcf5317a_9.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/expat-2.6.2-h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/gmp-6.2.1-h295c915_3.conda +https://repo.anaconda.com/pkgs/main/linux-64/icu-73.1-h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/jpeg-9e-h5eee18b_3.conda +https://repo.anaconda.com/pkgs/main/linux-64/lame-3.100-h7b6447c_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/lerc-3.0-h295c915_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libbrotlicommon-1.0.9-h5eee18b_8.conda +https://repo.anaconda.com/pkgs/main/linux-64/libdeflate-1.17-h5eee18b_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.4.4-h6a678d5_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/libiconv-1.16-h5eee18b_3.conda +https://conda.anaconda.org/pytorch/linux-64/libjpeg-turbo-2.0.0-h9bf148f_0.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/libtasn1-4.19.0-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libunistring-0.9.10-h27cfd23_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libuuid-1.41.5-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libwebp-base-1.3.2-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libxcb-1.15-h7f8727e_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/lz4-c-1.9.4-h6a678d5_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/ncurses-6.4-h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/openh264-2.1.1-h4ff587b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/openssl-3.0.15-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/tbb-2021.8.0-hdb19cb5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/xz-5.4.6-h5eee18b_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/yaml-0.2.5-h7b6447c_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/zlib-1.2.13-h5eee18b_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/intel-openmp-2023.1.0-hdb19cb5_46306.conda +https://repo.anaconda.com/pkgs/main/linux-64/libbrotlidec-1.0.9-h5eee18b_8.conda +https://repo.anaconda.com/pkgs/main/linux-64/libbrotlienc-1.0.9-h5eee18b_8.conda +https://repo.anaconda.com/pkgs/main/linux-64/libcups-2.4.2-h2d74bed_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/libedit-3.1.20230828-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libidn2-2.3.4-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libllvm14-14.0.6-hdb19cb5_3.conda +https://repo.anaconda.com/pkgs/main/linux-64/libpng-1.6.39-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libxml2-2.13.1-hfdd30dd_2.conda +https://repo.anaconda.com/pkgs/main/linux-64/llvm-openmp-14.0.6-h9e868ea_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/nettle-3.7.3-hbbd107a_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/pcre2-10.42-hebb0a14_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/readline-8.2-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/tk-8.6.14-h39e8969_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/zstd-1.5.5-hc292b87_2.conda +https://repo.anaconda.com/pkgs/main/linux-64/brotli-bin-1.0.9-h5eee18b_8.conda +https://repo.anaconda.com/pkgs/main/linux-64/freetype-2.12.1-h4a9f257_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/gnutls-3.6.15-he1e5248_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/krb5-1.20.1-h143b758_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/libclang13-14.0.6-default_he11475f_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/libglib-2.78.4-hdc74915_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libtiff-4.5.1-h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libxkbcommon-1.0.1-h097e994_2.conda +https://repo.anaconda.com/pkgs/main/linux-64/mkl-2023.1.0-h213fc3f_46344.conda +https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.45.3-h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/brotli-1.0.9-h5eee18b_8.conda +https://repo.anaconda.com/pkgs/main/linux-64/cyrus-sasl-2.1.28-h52b45da_1.conda +https://conda.anaconda.org/pytorch/linux-64/ffmpeg-4.3-hf484d3e_0.tar.bz2 +https://repo.anaconda.com/pkgs/main/linux-64/fontconfig-2.14.1-h55d465d_3.conda +https://repo.anaconda.com/pkgs/main/linux-64/glib-tools-2.78.4-h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/lcms2-2.12-h3be6417_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/libclang-14.0.6-default_hc6dbbc7_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/libpq-12.17-hdbd6064_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/openjpeg-2.5.2-he7f1fd0_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/python-3.12.4-h5148396_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/brotli-python-1.0.9-py312h6a678d5_8.conda +https://repo.anaconda.com/pkgs/main/linux-64/certifi-2024.12.14-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/noarch/charset-normalizer-3.3.2-pyhd3eb1b0_0.conda +https://repo.anaconda.com/pkgs/main/noarch/cycler-0.11.0-pyhd3eb1b0_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/debugpy-1.6.7-py312h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/et_xmlfile-1.1.0-py312h06a4308_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/filelock-3.13.1-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/glib-2.78.4-h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/idna-3.7-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/joblib-1.4.2-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/kiwisolver-1.4.4-py312h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/markupsafe-2.1.3-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/mkl-service-2.4.0-py312h5eee18b_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/mpmath-1.3.0-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/mysql-5.7.24-h721c034_2.conda +https://repo.anaconda.com/pkgs/main/linux-64/networkx-3.3-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/packaging-24.1-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pillow-10.4.0-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/ply-3.11-py312h06a4308_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/pyopengl-3.1.1a1-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pyparsing-3.0.9-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pyqt5-sip-12.13.0-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pysocks-1.7.1-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/noarch/python-tzdata-2023.3-pyhd3eb1b0_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pytz-2024.1-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pyyaml-6.0.1-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/setuptools-72.1.0-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/noarch/six-1.16.0-pyhd3eb1b0_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/threadpoolctl-3.5.0-py312he106c6f_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/tornado-6.4.1-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/tqdm-4.66.5-py312he106c6f_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/typing_extensions-4.11.0-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/unicodedata2-15.1.0-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/wheel-0.43.0-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/noarch/xlrd-2.0.1-pyhd3eb1b0_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/dbus-1.13.18-hb2f20db_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/fonttools-4.51.0-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/gstreamer-1.14.1-h5eee18b_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/jinja2-3.1.4-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/numpy-base-1.26.4-py312h0da6c21_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/openpyxl-3.1.5-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pip-24.2-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/python-dateutil-2.9.0post0-py312h06a4308_2.conda +https://repo.anaconda.com/pkgs/main/linux-64/sip-6.7.12-py312h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/sympy-1.12-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/urllib3-2.2.2-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/gst-plugins-base-1.14.1-h6a678d5_1.conda +https://repo.anaconda.com/pkgs/main/linux-64/requests-2.32.3-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/qt-main-5.15.2-h53bd1ea_10.conda +https://repo.anaconda.com/pkgs/main/linux-64/pyqt-5.15.10-py312h6a678d5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/bottleneck-1.3.7-py312ha883a20_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/contourpy-1.2.0-py312hdb19cb5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/matplotlib-3.8.4-py312h06a4308_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/matplotlib-base-3.8.4-py312h526ad5a_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/mkl_fft-1.3.8-py312h5eee18b_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/mkl_random-1.2.4-py312hdb19cb5_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/numpy-1.26.4-py312hc5e2394_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/numexpr-2.8.7-py312hf827012_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/scipy-1.13.1-py312hc5e2394_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/pandas-2.2.2-py312h526ad5a_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/scikit-learn-1.5.1-py312h526ad5a_0.conda +https://repo.anaconda.com/pkgs/main/linux-64/seaborn-0.13.2-py312h06a4308_0.conda +https://conda.anaconda.org/pytorch/linux-64/pytorch-2.4.0-py3.12_cuda12.4_cudnn9.1.0_0.tar.bz2 +https://conda.anaconda.org/pytorch/linux-64/torchaudio-2.4.0-py312_cu124.tar.bz2 +https://conda.anaconda.org/pytorch/linux-64/torchtriton-3.0.0-py312.tar.bz2 +https://conda.anaconda.org/pytorch/linux-64/torchvision-0.19.0-py312_cu124.tar.bz2 diff --git a/conda_env/environment.portable.yml b/conda_env/environment.portable.yml new file mode 100644 index 0000000..56655a2 --- /dev/null +++ b/conda_env/environment.portable.yml @@ -0,0 +1,179 @@ +name: Deeplearning +channels: + - defaults + - nvidia + - pytorch +dependencies: + - _libgcc_mutex=0.1 + - _openmp_mutex=5.1 + - blas=1.0 + - bottleneck=1.3.7 + - brotli=1.0.9 + - brotli-bin=1.0.9 + - brotli-python=1.0.9 + - bzip2=1.0.8 + - ca-certificates=2024.11.26 + - certifi=2024.12.14 + - charset-normalizer=3.3.2 + - contourpy=1.2.0 + - cuda-cudart=12.4.127 + - cuda-cupti=12.4.127 + - cuda-libraries=12.4.0 + - cuda-nvrtc=12.4.127 + - cuda-nvtx=12.4.127 + - cuda-opencl=12.4.127 + - cuda-runtime=12.4.0 + - cudatoolkit=11.5.1 + - cycler=0.11.0 + - cyrus-sasl=2.1.28 + - dbus=1.13.18 + - debugpy=1.6.7 + - et_xmlfile=1.1.0 + - expat=2.6.2 + - ffmpeg=4.3 + - filelock=3.13.1 + - fontconfig=2.14.1 + - fonttools=4.51.0 + - freetype=2.12.1 + - glib=2.78.4 + - glib-tools=2.78.4 + - gmp=6.2.1 + - gnutls=3.6.15 + - gst-plugins-base=1.14.1 + - gstreamer=1.14.1 + - icu=73.1 + - idna=3.7 + - intel-openmp=2023.1.0 + - jinja2=3.1.4 + - joblib=1.4.2 + - jpeg=9e + - kiwisolver=1.4.4 + - krb5=1.20.1 + - lame=3.100 + - lcms2=2.12 + - ld_impl_linux-64=2.38 + - lerc=3.0 + - libbrotlicommon=1.0.9 + - libbrotlidec=1.0.9 + - libbrotlienc=1.0.9 + - libclang=14.0.6 + - libclang13=14.0.6 + - libcublas=12.4.2.65 + - libcufft=11.2.0.44 + - libcufile=1.9.1.3 + - libcups=2.4.2 + - libcurand=10.3.5.147 + - libcusolver=11.6.0.99 + - libcusparse=12.3.0.142 + - libdeflate=1.17 + - libedit=3.1.20230828 + - libffi=3.4.4 + - libgcc-ng=11.2.0 + - libgfortran-ng=11.2.0 + - libgfortran5=11.2.0 + - libglib=2.78.4 + - libgomp=11.2.0 + - libiconv=1.16 + - libidn2=2.3.4 + - libjpeg-turbo=2.0.0 + - libllvm14=14.0.6 + - libnpp=12.2.5.2 + - libnvfatbin=12.4.127 + - libnvjitlink=12.4.99 + - libnvjpeg=12.3.1.89 + - libpng=1.6.39 + - libpq=12.17 + - libstdcxx-ng=11.2.0 + - libtasn1=4.19.0 + - libtiff=4.5.1 + - libunistring=0.9.10 + - libuuid=1.41.5 + - libwebp-base=1.3.2 + - libxcb=1.15 + - libxkbcommon=1.0.1 + - libxml2=2.13.1 + - llvm-openmp=14.0.6 + - lz4-c=1.9.4 + - markupsafe=2.1.3 + - matplotlib=3.8.4 + - matplotlib-base=3.8.4 + - mkl=2023.1.0 + - mkl-service=2.4.0 + - mkl_fft=1.3.8 + - mkl_random=1.2.4 + - mpmath=1.3.0 + - mysql=5.7.24 + - ncurses=6.4 + - nettle=3.7.3 + - networkx=3.3 + - numexpr=2.8.7 + - numpy=1.26.4 + - numpy-base=1.26.4 + - openh264=2.1.1 + - openjpeg=2.5.2 + - openpyxl=3.1.5 + - openssl=3.0.15 + - packaging=24.1 + - pandas=2.2.2 + - pcre2=10.42 + - pillow=10.4.0 + - pip=24.2 + - ply=3.11 + - pybind11-abi=5 + - pyopengl=3.1.1a1 + - pyparsing=3.0.9 + - pyqt=5.15.10 + - pyqt5-sip=12.13.0 + - pysocks=1.7.1 + - python=3.12.4 + - python-dateutil=2.9.0post0 + - python-tzdata=2023.3 + - pytorch=2.4.0 + - pytorch-cuda=12.4 + - pytorch-mutex=1.0 + - pytz=2024.1 + - pyyaml=6.0.1 + - qt-main=5.15.2 + - readline=8.2 + - requests=2.32.3 + - scikit-learn=1.5.1 + - scipy=1.13.1 + - seaborn=0.13.2 + - setuptools=72.1.0 + - sip=6.7.12 + - six=1.16.0 + - sqlite=3.45.3 + - sympy=1.12 + - tbb=2021.8.0 + - threadpoolctl=3.5.0 + - tk=8.6.14 + - torchaudio=2.4.0 + - torchtriton=3.0.0 + - torchvision=0.19.0 + - tornado=6.4.1 + - tqdm=4.66.5 + - typing_extensions=4.11.0 + - tzdata=2024a + - unicodedata2=15.1.0 + - urllib3=2.2.2 + - wheel=0.43.0 + - xlrd=2.0.1 + - xz=5.4.6 + - yaml=0.2.5 + - zlib=1.2.13 + - zstd=1.5.5 + - pip: + - autopep8==2.3.1 + - basedpyright==1.16.0 + - black==24.8.0 + - click==8.1.7 + - fsspec==2024.6.1 + - graphviz==0.20.3 + - greenlet==3.0.3 + - msgpack==1.0.8 + - mypy-extensions==1.0.0 + - nodejs-wheel-binaries==20.16.0 + - pathspec==0.12.1 + - platformdirs==4.2.2 + - pycodestyle==2.12.1 + - pynvim==0.5.0