Conda 复制已有环境
由于服务器上本身已经有使用CUDA平台的ToD-BERT运行环境,仅需将此环境中所有使用GPU的库换为使用CPU的库即可:pytorch
查看已有环境
(base) dialogue@amax-13:/$ conda info --env
# conda environments:
#
base * /media/HD1/dche/miniconda3
sum_env /media/HD1/dche/miniconda3/envs/sum_env
tod_bert /media/HD1/dche/miniconda3/envs/tod_bert
/media/HD1/miniconda3
创建新环境,并将原有环境中的所有包复制,并激活新建立的环境。
(base) dialogue@amax-13:/$ conda create -n tod_bert_cpu --clone tod_bert
Source: /media/HD1/dche/miniconda3/envs/tod_bert
Destination: /media/HD1/dche/miniconda3/envs/tod_bert_cpu
Packages: 20
Files: 12683
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate tod_bert_cpu
#
# To deactivate an active environment, use
#
# $ conda deactivate
(base) dialogue@amax-13:/$ conda activate tod_bert_cpu
(tod_bert_cpu) dialogue@amax-13:/$
Conda配置环境中的包(卸载GPU版本、安装CPU版本)
Conda 查看环境中所有包的信息
(tod_bert_cpu) dialogue@amax-13:/$ conda list
# packages in environment at /media/HD1/dche/miniconda3/envs/tod_bert_cpu:
#
# Name Version Build Channel
_libgcc_mutex 0.1 main
_openmp_mutex 4.5 1_gnu
anykeystore 0.2 pypi_0 pypi
apex 0.9.8.dev0 pypi_0 pypi
blessings 1.7 pypi_0 pypi
ca-certificates 2021.10.26 h06a4308_2
certifi 2021.10.8 py37h06a4308_0
charset-normalizer 2.0.7 pypi_0 pypi
click 8.0.3 pypi_0 pypi
cryptacular 1.6.2 pypi_0 pypi
defusedxml 0.7.1 pypi_0 pypi
filelock 3.4.0 pypi_0 pypi
future 0.18.2 pypi_0 pypi
gpustat 0.6.0 pypi_0 pypi
greenlet 1.1.2 pypi_0 pypi
hupper 1.10.3 pypi_0 pypi
idna 3.3 pypi_0 pypi
importlib-metadata 4.8.2 pypi_0 pypi
joblib 1.1.0 pypi_0 pypi
libedit 3.1.20210910 h7f8727e_0
libffi 3.2.1 hf484d3e_1007
libgcc-ng 9.3.0 h5101ec6_17
libgomp 9.3.0 h5101ec6_17
libstdcxx-ng 9.3.0 hd4cf53a_17
markupsafe 2.0.1 pypi_0 pypi
ncurses 6.3 h7f8727e_2
nltk 3.5 pypi_0 pypi
numpy 1.18.1 pypi_0 pypi
nvidia-ml-py3 7.352.0 pypi_0 pypi
oauthlib 3.1.1 pypi_0 pypi
openssl 1.0.2u h7b6447c_0
packaging 21.3 pypi_0 pypi
pastedeploy 2.1.1 pypi_0 pypi
pbkdf2 1.3 pypi_0 pypi
pip 21.2.2 py37h06a4308_0
plaster 1.0 pypi_0 pypi
plaster-pastedeploy 0.7 pypi_0 pypi
protobuf 3.19.1 pypi_0 pypi
psutil 5.8.0 pypi_0 pypi
ptvsd 4.3.2 pypi_0 pypi
pyparsing 3.0.6 pypi_0 pypi
pyramid 2.0 pypi_0 pypi
pyramid-mailer 0.15.1 pypi_0 pypi
python 3.7.0 h6e4f718_3
python3-openid 3.2.0 pypi_0 pypi
readline 7.0 h7b6447c_5
regex 2021.11.10 pypi_0 pypi
repoze-sendmail 4.4.1 pypi_0 pypi
requests 2.26.0 pypi_0 pypi
requests-oauthlib 1.3.0 pypi_0 pypi
sacremoses 0.0.46 pypi_0 pypi
scikit-learn 0.23.2 pypi_0 pypi
scipy 1.7.2 pypi_0 pypi
sentencepiece 0.1.96 pypi_0 pypi
setuptools 58.0.4 py37h06a4308_0
simplejson 3.17.2 pypi_0 pypi
six 1.15.0 pypi_0 pypi
sqlalchemy 1.4.27 pypi_0 pypi
sqlite 3.33.0 h62c20be_0
tensorboardx 2.1 pypi_0 pypi
threadpoolctl 3.0.0 pypi_0 pypi
tk 8.6.11 h1ccaba5_0
tokenizers 0.8.1rc1 pypi_0 pypi
torch 1.6.0 pypi_0 pypi
tqdm 4.31.1 pypi_0 pypi
transaction 3.0.1 pypi_0 pypi
transformers 3.0.2 pypi_0 pypi
translationstring 1.4 pypi_0 pypi
typing-extensions 4.0.0 pypi_0 pypi
urllib3 1.26.7 pypi_0 pypi
velruse 1.1.1 pypi_0 pypi
venusian 3.0.0 pypi_0 pypi
webob 1.8.7 pypi_0 pypi
wheel 0.37.0 pyhd3eb1b0_1
wtforms 3.0.0 pypi_0 pypi
wtforms-recaptcha 0.3.2 pypi_0 pypi
xz 5.2.5 h7b6447c_0
zipp 3.6.0 pypi_0 pypi
zlib 1.2.11 h7b6447c_3
zope-deprecation 4.4.0 pypi_0 pypi
zope-interface 5.4.0 pypi_0 pypi
zope-sqlalchemy 1.6 pypi_0 pypi
卸载原有的GPU版本torch,貌似原先是使用pip安装的,在尝试conda卸载无果后使用pip卸载成功。
(tod_bert_cpu) dialogue@amax-13:/$ conda remove pytorch
Collecting package metadata (repodata.json): done
Solving environment: failed
PackagesNotFoundError: The following packages are missing from the target environment:
- pytorch
(tod_bert_cpu) dialogue@amax-13:/$ pip uninstall torch
Found existing installation: torch 1.6.0
Uninstalling torch-1.6.0:
Would remove:
/media/HD1/dche/miniconda3/envs/tod_bert_cpu/bin/convert-caffe2-to-onnx
/media/HD1/dche/miniconda3/envs/tod_bert_cpu/bin/convert-onnx-to-caffe2
/media/HD1/dche/miniconda3/envs/tod_bert_cpu/lib/python3.7/site-packages/caffe2/*
/media/HD1/dche/miniconda3/envs/tod_bert_cpu/lib/python3.7/site-packages/torch-1.6.0.dist-info/*
/media/HD1/dche/miniconda3/envs/tod_bert_cpu/lib/python3.7/site-packages/torch/*
Proceed (Y/n)? y
Successfully uninstalled torch-1.6.0
安装cpu版本torch
(tod_bert_cpu) dialogue@amax-13:/$ conda install pytorch==1.6.0 torchvision==0.7.0 cpuonly -c pytorch
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /media/HD1/dche/miniconda3/envs/tod_bert_cpu
added / updated specs:
- cpuonly
- pytorch==1.6.0
- torchvision==0.7.0
The following packages will be downloaded:
| package | build |
| --------------------- | ----------------------------------- |
| blas-1.0 | mkl 6 KB |
| cpuonly-2.0 | 0 2 KB pytorch |
| freetype-2.11.0 | h70c0345_0 618 KB |
| giflib-5.2.1 | h7b6447c_0 78 KB |
| intel-openmp-2021.4.0 | h06a4308_3561 4.2 MB |
| jpeg-9d | h7f8727e_0 232 KB |
| lcms2-2.12 | h3be6417_0 312 KB |
| libpng-1.6.37 | hbc83047_0 278 KB |
| libtiff-4.2.0 | h85742a9_0 502 KB |
| libwebp-1.2.0 | h89dd481_0 493 KB |
| libwebp-base-1.2.0 | h27cfd23_0 437 KB |
| lz4-c-1.9.3 | h295c915_1 185 KB |
| mkl-2021.4.0 | h06a4308_640 142.6 MB |
| mkl-service-2.4.0 | py37h7f8727e_0 56 KB |
| mkl_fft-1.3.1 | py37hd3c417c_0 172 KB |
| mkl_random-1.2.2 | py37h51133e4_0 287 KB |
| ninja-1.10.2 | py37hd09550d_3 1.5 MB |
| numpy-1.21.2 | py37h20f2e39_0 23 KB |
| numpy-base-1.21.2 | py37h79a1101_0 4.8 MB |
| olefile-0.46 | py37_0 50 KB |
| pillow-8.4.0 | py37h5aabda8_0 644 KB |
| pytorch-1.6.0 | py3.7_cpu_0 59.4 MB pytorch |
| pytorch-mutex-1.0 | cpu 3 KB pytorch |
| torchvision-0.7.0 | py37_cpu 10.3 MB pytorch |
| zstd-1.4.9 | haebb681_0 480 KB |
------------------------------------------------------------
Total: 227.4 MB
The following NEW packages will be INSTALLED:
blas pkgs/main/linux-64::blas-1.0-mkl
cpuonly pytorch/noarch::cpuonly-2.0-0
freetype pkgs/main/linux-64::freetype-2.11.0-h70c0345_0
giflib pkgs/main/linux-64::giflib-5.2.1-h7b6447c_0
intel-openmp pkgs/main/linux-64::intel-openmp-2021.4.0-h06a4308_3561
jpeg pkgs/main/linux-64::jpeg-9d-h7f8727e_0
lcms2 pkgs/main/linux-64::lcms2-2.12-h3be6417_0
libpng pkgs/main/linux-64::libpng-1.6.37-hbc83047_0
libtiff pkgs/main/linux-64::libtiff-4.2.0-h85742a9_0
libwebp pkgs/main/linux-64::libwebp-1.2.0-h89dd481_0
libwebp-base pkgs/main/linux-64::libwebp-base-1.2.0-h27cfd23_0
lz4-c pkgs/main/linux-64::lz4-c-1.9.3-h295c915_1
mkl pkgs/main/linux-64::mkl-2021.4.0-h06a4308_640
mkl-service pkgs/main/linux-64::mkl-service-2.4.0-py37h7f8727e_0
mkl_fft pkgs/main/linux-64::mkl_fft-1.3.1-py37hd3c417c_0
mkl_random pkgs/main/linux-64::mkl_random-1.2.2-py37h51133e4_0
ninja pkgs/main/linux-64::ninja-1.10.2-py37hd09550d_3
numpy pkgs/main/linux-64::numpy-1.21.2-py37h20f2e39_0
numpy-base pkgs/main/linux-64::numpy-base-1.21.2-py37h79a1101_0
olefile pkgs/main/linux-64::olefile-0.46-py37_0
pillow pkgs/main/linux-64::pillow-8.4.0-py37h5aabda8_0
pytorch pytorch/linux-64::pytorch-1.6.0-py3.7_cpu_0
pytorch-mutex pytorch/noarch::pytorch-mutex-1.0-cpu
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
torchvision pytorch/linux-64::torchvision-0.7.0-py37_cpu
zstd pkgs/main/linux-64::zstd-1.4.9-haebb681_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
olefile-0.46 | 50 KB | ############################################################################################# | 100%
numpy-base-1.21.2 | 4.8 MB | ############################################################################################# | 100%
libpng-1.6.37 | 278 KB | ############################################################################################# | 100%
freetype-2.11.0 | 618 KB | ############################################################################################# | 100%
libwebp-base-1.2.0 | 437 KB | ############################################################################################# | 100%
blas-1.0 | 6 KB | ############################################################################################# | 100%
libtiff-4.2.0 | 502 KB | ############################################################################################# | 100%
torchvision-0.7.0 | 10.3 MB | ############################################################################################# | 100%
zstd-1.4.9 | 480 KB | ############################################################################################# | 100%
pytorch-1.6.0 | 59.4 MB | ############################################################################################# | 100%
libwebp-1.2.0 | 493 KB | ############################################################################################# | 100%
jpeg-9d | 232 KB | ############################################################################################# | 100%
intel-openmp-2021.4. | 4.2 MB | ############################################################################################# | 100%
lcms2-2.12 | 312 KB | ############################################################################################# | 100%
mkl-service-2.4.0 | 56 KB | ############################################################################################# | 100%
pytorch-mutex-1.0 | 3 KB | ############################################################################################# | 100%
giflib-5.2.1 | 78 KB | ############################################################################################# | 100%
mkl_random-1.2.2 | 287 KB | ############################################################################################# | 100%
cpuonly-2.0 | 2 KB | ############################################################################################# | 100%
mkl-2021.4.0 | 142.6 MB | ############################################################################################# | 100%
ninja-1.10.2 | 1.5 MB | ############################################################################################# | 100%
mkl_fft-1.3.1 | 172 KB | ############################################################################################# | 100%
pillow-8.4.0 | 644 KB | ############################################################################################# | 100%
lz4-c-1.9.3 | 185 KB | ############################################################################################# | 100%
numpy-1.21.2 | 23 KB | ############################################################################################# | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
配置并运行BERT
直接使用同CPU的命令CUDA_VISIBLE_DEVICES=0 ./run_tod_lm_pretraining.sh 0 bert bert-base-uncased save/pretrain/ToD-BERT-MLM --only_last_turn --data_path ./../dialog_datasets
,貌似没有任何问题地跑起来了?
由于项目要求,需要限制模型使用cpu的核数。
使用命令top -d 1
查看目前cpu占用情况,顺便查看跑BERT模型的python进程PID
使用命令taskset -cp <cpu list> <pid>
进行绑核操作,ep.taskset -cp 0,1,2,3 94434